正则表达式匹配所有但不包括引号
regex match all but excluding quotes
我目前正在尝试匹配以下字符串中不包括双引号的所有 IP 地址:
"1.2.3.4/1.0", "1.2.3.4/a", "10.0.2.3/1"
下面是我的正则表达式模式:
(?<=")\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/.*(?=")
然而结果只是去掉了第一个和最后一个双引号,但仍然保留了中间的其他双引号:
1.2.3.4/1.0", "1.2.3.4/a", "10.0.2.3/1
我想要的结果是这样的:
1.2.3.4/1.0, 1.2.3.4/a, 10.0.2.3/1
如何在匹配所有这些 ip 地址时排除双引号?
P.S。我知道这不是正确的 ip 地址匹配,但我这样做是为了测试目的,我关心的是在匹配所有出现的 ip 地址时排除双引号。
此外,我必须在正则表达式匹配后在逗号上做一个条带。如果你能帮我弄清楚如何从一个正则表达式匹配中获取每个 IP 地址,那就太好了。
谢谢!
无需使用环视,您可以使用此正则表达式:
\b\d{1,3}(?:\.\d{1,3}){3}(?:/[^"]+)?
RegEx Demo
我目前正在尝试匹配以下字符串中不包括双引号的所有 IP 地址:
"1.2.3.4/1.0", "1.2.3.4/a", "10.0.2.3/1"
下面是我的正则表达式模式:
(?<=")\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/.*(?=")
然而结果只是去掉了第一个和最后一个双引号,但仍然保留了中间的其他双引号:
1.2.3.4/1.0", "1.2.3.4/a", "10.0.2.3/1
我想要的结果是这样的:
1.2.3.4/1.0, 1.2.3.4/a, 10.0.2.3/1
如何在匹配所有这些 ip 地址时排除双引号?
P.S。我知道这不是正确的 ip 地址匹配,但我这样做是为了测试目的,我关心的是在匹配所有出现的 ip 地址时排除双引号。
此外,我必须在正则表达式匹配后在逗号上做一个条带。如果你能帮我弄清楚如何从一个正则表达式匹配中获取每个 IP 地址,那就太好了。
谢谢!
无需使用环视,您可以使用此正则表达式:
\b\d{1,3}(?:\.\d{1,3}){3}(?:/[^"]+)?