我想建立一個匹配spamassassin
網址:正則表達式來捕捉任何幾個單詞在句子中
「通知安全密鑰已過期」
和變化,其中可以存在在單詞"has"
之前1至3個單詞並且它仍然必須匹配。
我一直嘗試和測試在線正則表達式工具。我使用.\w
,但可以使其僅部分地用單詞"has"
之前的一個單詞工作。我想從1到3個單詞。
我想建立一個匹配spamassassin
網址:正則表達式來捕捉任何幾個單詞在句子中
「通知安全密鑰已過期」
和變化,其中可以存在在單詞"has"
之前1至3個單詞並且它仍然必須匹配。
我一直嘗試和測試在線正則表達式工具。我使用.\w
,但可以使其僅部分地用單詞"has"
之前的一個單詞工作。我想從1到3個單詞。
下面是一個正則表達式,它匹配單詞「key」和「has」之間的1到3個單詞,這裏有一個指向測試它的RegExr的鏈接。我承認我不熟悉spamassassin
但如果你需要的是一個正則表達式匹配的文本行,然後這應該工作:
key(\b\s((\w+\b\s){1,3})has
使用大括號{1,3}
意味着先前的令牌(在這種情況下, ,組(\w+\b\s)
)必須至少匹配一次但不超過三次。 \b
令牌與單詞邊界匹配,並且\s
與任何空格匹配。如您所知,\w
可匹配任何字母數字字符。
如果需要,可以使用反向引用來提取組1,現在它包含「key」和「has」之間的詞(以及它們周圍的空白)。希望這可以幫助!
要匹配單詞「has」前面的1-3個單詞,您可以使用(\w+){1,3}has
。
希望這能回答你的問題。這似乎只是你所問的。
更好地添加變化以得到一個堅實的答案 –