正则表达式匹配所有但不包括引号

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