我看到過類似的問題,但我無法讓他們爲我的場景工作。正則表達式搜索2個字符串之間的可選通配符
我想用正則表達式來查找2個字符串之間的可選通配符。 下面是正則表達式不正確查找字符串的一個例子:not happy
如果字符串是: not very happy
代碼仍必須符合這兩種情況。
我的代碼是:
/\b(?<=not(*?).)happy\b/
(happy
和very
是變量)
任何指着我在正確的方向幫助將是非常讚賞。
我看到過類似的問題,但我無法讓他們爲我的場景工作。正則表達式搜索2個字符串之間的可選通配符
我想用正則表達式來查找2個字符串之間的可選通配符。 下面是正則表達式不正確查找字符串的一個例子:not happy
如果字符串是: not very happy
代碼仍必須符合這兩種情況。
我的代碼是:
/\b(?<=not(*?).)happy\b/
(happy
和very
是變量)
任何指着我在正確的方向幫助將是非常讚賞。
一些調整可能是必需的,但是這會匹配到兩個詞之間「沒有」和「幸福」:
/not(?:\s+\w+){0,2}\s+happy/
謝謝,這似乎是我或多或少需要的東西。感謝幫助。 – user1882752
這...
/not +([^ ]* +)?happy/
並隨時替換?與{0,2}(例如)匹配而不是和開心之間的2個字。
爲什麼不只是做/(not.*happy)/i? – RonaldBarzell
對不起,我沒有解釋這一點。我將使用{0,2}將單詞間的可選項限制爲僅2個。太多的額外單詞會再次改變上下文。因此,「完全不開心」是可以接受的,「不喜歡它不讓我開心」是不可接受的。 – user1882752
你是想純粹用正則表達式來完成這個工作嗎,還是你介意PHP是否有一些東西? – RonaldBarzell