http://www.example.com/pk/ca
类型的URL列表,http://www.example.com/pk
,http://www.example.com/anthingcangoeshere/pk
和http://www.example.com/pkisnotnecessaryhere
。
现在,我要找出只有那些与/pk
或/pk/
结束,并没有在.com
和/pk
之间
http://www.example.com/pk/ca
类型的URL列表,http://www.example.com/pk
,http://www.example.com/anthingcangoeshere/pk
和http://www.example.com/pkisnotnecessaryhere
。现在,我要找出只有那些与/pk
或/pk/
结束,并没有在.com
和/pk
之间
您的问题没有完全确定什么,所以我不能给的网址你一个确切的答案,但是这应该是一个开始,你可以使用:
^[^:]+://[^/]+\.com/pk/?$
这些字符串将匹配:
http://www.example.com/pk http://www.example.com/pk/ https://www.example.com/pk个
这些字符串不匹配:
http://www.example.co.uk/pk http://www.example.com/pk/ca http://www.example.com/anthingcangoeshere/pk http://www.example.com/pkisnotnecessaryhere
String pattern = "^http://www.example.com/pk/?$";
希望这有助于。
一些细节:如果您没有将^
添加到模式的开头,那么foobarhttp://www.example.com/pk/
也会被接受。如果您未将$
添加到该模式的末尾,则也会接受http://www.exampke.com/pk/foobar
。
String pattern = "^https?://(www\.)?.+\\.com/pk/?$";
这匹配'“http://files.net/command.com/pk”' – polygenelubricants 2010-04-18 12:41:51
直接翻译你的要求“[...]网址与/或PK/PK /并没有什么在.com和/之间的PK结束”,与另外的假设,即始终应是 “.COM”,得到这个表达式:
如果使用find()
:
\.com/pk/?$
如果使用matches()
:
.*\.com/pk/?
这里给出的其他答案给出了更多限制性模式,只允许更接近你的例子的URL。特别是我的模式不验证给定的字符串是一个语法上有效的URL。
你的问题不是很清楚。给你更多的例子,你想要匹配什么,你不想匹配。 – 2010-04-18 10:13:37
现在还不清楚。该网址是否必须包含“.com”? – 2010-04-18 10:15:38
@Mark yes,它应该包含'.com' – 2010-04-18 10:17:08