只是一個簡單的正則表達式,我不知道該怎麼寫。如何匹配正則表達式中的多個單詞
正則表達式必須確保一個字符串匹配所有3個單詞。我看如何使它匹配的3任:
/advancedbrain|com_ixxocart|p\=completed/
,但我需要確保所有3個單詞存在於的字符串中。
這裏有話
- advancebrain
- com_ixxocart
- P =完成
只是一個簡單的正則表達式,我不知道該怎麼寫。如何匹配正則表達式中的多個單詞
正則表達式必須確保一個字符串匹配所有3個單詞。我看如何使它匹配的3任:
/advancedbrain|com_ixxocart|p\=completed/
,但我需要確保所有3個單詞存在於的字符串中。
這裏有話
使用lookahead assertions:如果這三個方面都存在
^(?=.*advancebrain)(?=.*com_ixxochart)(?=.*p=completed)
將匹配。
你可能想添加在你的搜索字詞\b
工作的界限,以確保它們是匹配的完整的單詞,而不是換句話說子(如advancebraindeath
)如果你需要避免這種情況:
^(?=.*\badvancebrain\b)(?=.*\bcom_ixxochart\b)(?=.*\bp=completed\b)
使用前瞻:
(?=.*\badvancebrain)(?=.*\bcom_ixxocart)(?=.*\bp=completed)
順序無關緊要。所有三個都是必需的。
在開始時更好地固定正則表達式,否則你會得到可怕的表現所有三個都在場。 – 2011-03-24 16:05:07
是的,你的更好! – Tom 2011-03-24 16:06:15
^(?=.*?p=completed)(?=.*?advancebrain)(?=.*?com_ixxocart).*$
花了太長時間的測試和精煉= /哦..還會張貼我的答案
所以,當你有一個例子字符串「等等等等示例文本advancebrain其中#com_ixxocart等等blahp = completedstuff」? – 2011-03-24 15:59:05
我個人會用3個正則表達式來做這件事。它可能相當醜陋,只有一個,可能會更慢。 – Pointy 2011-03-24 15:59:55
這些來自查詢字符串嗎?如果是這樣,您可能不需要使用任何正則表達式 – racerror 2011-03-24 16:03:44