java - 正则表达式和带有元字符的匹配 URL

标签 java regex

我无法找到与以下字符串匹配的正则表达式。

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/

相关文章:

java - 将 wait 和 notifyAll 代码转换为使用 Java 1.5 Lock 对象

java 正则表达式与电子邮件验证问题

Java - 正则表达式

Java有效地删除对象

java - 在 ibatis 上映射枚举

javascript - 正则表达式匹配带引号的字符串忽略双引​​号

javascript - javascript正则表达式的验证

javascript - 从具有特定字符的字符串中提取子字符串

Java Swing——将 JPanel 的按键输入添加到 JOptionpane

java - JSONSmart 解析整个数组并获取每个对象?