[英]Java String contains a special Char but not even one more Char
我正在寻找每个单独的URL,在html文档中链接为“眼睛”。 我使用的是正则表达式模式,因为在这一点上,简单的包含尚无解决方案。 所以我有一个这样的模式
模式:: href=\\"(https?://)?[a-zA-z0-9?/&=\\"+-_\\\\.# ]*>[Ee]ye
它的工作原理...很好...或多或少...因为我得到的链接超过了以“眼睛”或“眼睛”链接的所有URL。 我也将获得链接为“ eyebrights”或“ eyewears”的URL,但这不是我想要的。
有什么办法说“当我想要的东西多的时候,让我忽略它”?
中应尽量避免使用正则表达式解析XML / HTML 。 使用像jsoup这样的XML / HTML解析器。 有了这个库,我们的代码可能看起来像:
Elements links = doc.select("a[href]:matches(^[eE]ye\\b)");
//Elements extends ArrayList<Element> so you can easily iterate over it
有关更多信息,请参见http://jsoup.org/cookbook/extracting-data/selector-syntax
在eye
后面加上\\b
:
href=\"(https?://)?[a-zA-z0-9?/&=\"+-_\\.# ]*>[Ee]ye\\b
\\b
:在单词边界处声明位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.