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

时间:2015-01-27 21:43:08

标签: java regex string ip

我目前正在尝试匹配以下字符串中不包括双引号的所有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地址,那将是很棒的。

谢谢!

1 个答案:

答案 0 :(得分:0)

无需使用外观,您可以使用此正则表达式:

\b\d{1,3}(?:\.\d{1,3}){3}(?:/[^"]+)?

RegEx Demo