Java 字符串包含一个特殊的 Char 但甚至没有一个 Char
Java String contains a special Char but not even one more Char
我正在寻找每个 URL,它们在 html 文档中链接为 "eye"。我正在使用正则表达式模式,因为此时简单的包含不是解决方案。所以我得到了这样的模式
模式:: href=\"(https?://)?[a-zA-z0-9?/&=\"+-_\.# ]*>[Ee]ye
它工作...很好...或多或少...因为我得到的链接比任何 URL 都多 "Eye" 或 "eye"。我也会得到链接为 "eyebrights" 或 "eyewears" 的 URLs,但这不是我想要的。
有没有办法说"get me this and ignore it, when there is more than I want"?
在eye
之后添加\b
:
href=\"(https?://)?[a-zA-z0-9?/&=\"+-_\.# ]*>[Ee]ye\b
\b
: 在单词边界断言位置。
中应该尝试 avoid using regex to parse XML/HTML. Use XML/HTML parser like jsoup 代替。使用此库,我们的代码可能如下所示:
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
我正在寻找每个 URL,它们在 html 文档中链接为 "eye"。我正在使用正则表达式模式,因为此时简单的包含不是解决方案。所以我得到了这样的模式
模式:: href=\"(https?://)?[a-zA-z0-9?/&=\"+-_\.# ]*>[Ee]ye
它工作...很好...或多或少...因为我得到的链接比任何 URL 都多 "Eye" 或 "eye"。我也会得到链接为 "eyebrights" 或 "eyewears" 的 URLs,但这不是我想要的。
有没有办法说"get me this and ignore it, when there is more than I want"?
在eye
之后添加\b
:
href=\"(https?://)?[a-zA-z0-9?/&=\"+-_\.# ]*>[Ee]ye\b
\b
: 在单词边界断言位置。
中应该尝试 avoid using regex to parse XML/HTML. Use XML/HTML parser like jsoup 代替。使用此库,我们的代码可能如下所示:
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