[英]Regular expression, omit few words
我該如何寫一個正則表達式來匹配這樣的東西:
他能
他不 能夠
等等
一般模式“他是” +最多幾個單詞+“的”
我知道如何不使用正則表達式來解決它,但是也許有更簡單的方法
一個簡單的解決方案是使用
\bhe is(?: \w+){1,3} of\b
它允許一個和三個“詞”之間he is
和of
。
\\w+
意思是“字母/數字/下划線序列”,因此它與一個單詞不完全匹配,但是如果該單詞太不明確,則可以替換您自己的單詞匹配正則表達式。
\\b
詞邊界錨僅用於匹配he
和of
,而不匹配the
或often
。
如果您真的想檢查是否有能力或沒有能力。
"he is\\s+(not\\s+)?(capable\\s+)?of"
我會這樣:
\bhe is\b.*\bof\b
我經常使用\\b
來確保我匹配單詞。 例如,這與She is capable of
不匹配, he isa wizard capable of
也不he isa wizard capable of
這有點復雜:
\bhe is\b( +\w+ *)*\bof\b
在這里,中間有( +\\w+ *)*
。 這樣可以確保單詞彼此匹配。
您可以在此處進行演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.