我无法找到与以下字符串匹配的正则表达式。
Korben;http://feeds.feedburner.com/KorbensBlog-UpgradeYourMind?format=xml;1
一个问题是逃避问号。 Java 的模式匹配器似乎不接受 \?
作为有效的转义序列,但它也无法与 myregexp.com 上的测试器一起工作。
这是我到目前为止所拥有的:
([a-zA-Z0-9])+;http://([a-zA-Z0-9./-]+);[0-9]+
有什么建议吗?
编辑:最初的目的是匹配第一个分号后可以找到的所有 URL。
最佳答案
如果将表达式放入字符串中,则还需要转义“\”。即:
String expr = "([a-zA-Z0-9])+;http://([a-zA-Z0-9./\\-\\?]+);[0-9]+";
如果“-”不是字符类 ([...]) 结构中的最后一个字符,则还需要对其进行转义。
关于java - 正则表达式和带有元字符的匹配 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520503/