[英]PHP Regex to match word in a sentence with optionally only other certain words
我正在尋找一個PHP正則表達式來匹配句子中的單詞,該單詞也可以選擇允許句子中的其他單詞,但是如果句子中有其他單詞不在允許列表中,則匹配失敗。 例如:
The quick fox
在這里我正在尋找狐狸。 如果出現“ the”和“ quick”,也可以。 由於這些詞是可選的,因此
fox
也可以。 然而,
The quick brown fox
不好。 我不要棕狐狸。
也可以隨意提出另一種方法,但這需要快速發展。
編輯:單詞將出現在fox之前,但它們可以以任何順序出現,因此
quick The fox
也應該匹配。
只需將前兩個字設為可選即可。
^(?:(?:The )?(?:quick )?fox|(?:quick )(?:The )?fox|(?:fox )?(The )?quick|(?:The )?(?:fox )?quick)$
好的,我認為我找到了一個不太復雜的解決方案,據我測試,它似乎可以滿足我想要的結果
^(?(?=\b)(?:The|quick|\W)|.)+?fox
我在這里檢查每個字符,看是否是單詞邊界。 如果是,則必須在該點上匹配“ the”或“ quick”或一個非單詞字符(表明您在單詞的末尾)。 直到我匹配“ fox”為止。 如果我匹配允許的單詞以外的其他單詞,則匹配失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.