如何匹配URL中的单词(字符串)
该网站包含不同的网址,但我希望我的应用程序应该仅访问包含特定关键字(例如“药物”)的网址 如果网址为
http://website.com/countryname/drug/info/A
< a href="http://website.com/countryname/Browse/Alphabet/D?cat=company" rel="nofollow">http://website.com/countryname/Browse/Alphabet/D?cat=company< /a>
它应该首先访问URL.so 如何匹配 url 中的特定关键字药物。我知道也可以使用正则表达式来完成,但是有,但我是新手 我这里使用Java
This website contains different Url, But i want my application should vist urls only which contains specific keyword like "drugs" like
if urls are
http://website.com/countryname/drug/info/A
http://website.com/countryname/Browse/Alphabet/D?cat=company
it should visit first URL.so how to match a specific keyword drug in url.I know it can be done using regexp also,but have but i am new to it
I am using Java here
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 contains() 方法检查字符串是否包含单词。
if(myString.contains("drugs"))
如果您只需要包含 /drug/ 的 URL,请尝试执行以下操作:
(/|$)
表示/drug
之后只能是斜杠 ( / ) 或什么都没有完全(美元意味着行尾)。因此,如果您的字符串类似于.../drug/...
或.../drug
,则此正则表达式将找到所有内容>You can check if string contains a word with method contains().
if(myString.contains("drugs"))
If you need only URLs containing /drug/ try to do something like this:
(/|$)
means that after/drug
can be only a slash ( / ) or nothing at all (dollar means end of the line).So this regex will find all if your string is like.../drug/...
or.../drug
像这样使用
split()
:如果您的代码被频繁调用,您可能需要使用
https?://
制作Pattern
和/+
并使用Matcher
。Use
split()
as such:If your code is called very often, you may want to make
Pattern
s out ofhttps?://
and/+
and useMatcher
s.