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