我想寫一個匹配包含特定子字符串的字符串的正則表達式,但如果它也包含不同的子字符串,則會失敗。我找到了this answer,但我不確定如何讓它滿足我的需求。爲了儘可能具體:正則表達式匹配包含子字符串,但不包括子字符串的字符串
- 是的,它必須做到這一點作爲表達的一部分。我無法訪問將要處理的代碼。
- 是的,它需要是一個表達式。
- 它需要使用PHP的正則表達式。我很確定它正在使用preg進行評估
爲了說明我正在嘗試做什麼,我有一組我想要過濾的URL。我想匹配其中包含「/ somedir」的網址,但如果網址中還包含「somestring」,我不希望它匹配。
所以,
- www.somesite.com/somedir/index.html
- www.somesite.com/somedir/somotherdir/index.html
- www.somesite.com/somedir/ somepage.html
都會匹配,但是,
- www.somesite。 COM/somedir/somestring.html
- www.somesite.com/somedir/somestring/index.html
會都失敗。
爲什麼正則表達式? 「strpos」的簡單組合將起作用。 – Tchoupi 2013-03-07 17:37:39
*「我很確定它正在使用preg進行評估」* - 在詢問之前您應該知道,因爲它不同(很可能您是對的,但是,很好,找出;)) - 也是使用模式的代碼是必要的,因爲它可以區分使用正則表達式的方式。你也應該概述你到目前爲止所嘗試的。例如。模擬你自己的代碼,提供數據運行,輸出結果,使模式變成一個變量,然後嘗試。 – hakre 2013-03-07 17:39:37
http://stackoverflow.com/questions/2953039/regular-expression-for-a-string-containing-one-word-but-not-another – Crisp 2013-03-07 17:41:49