簡體   English   中英

在 Python 中制作一個匹配單詞變體的正則表達式

[英]Crafting a regex in Python that matches variations on a word

"HELP", "help", "HeLp", "H!E!L!P!", "HELP", "HHHEEEEEEEEELLP" 都應該返回匹配項。 但是它們之間不能穿插任何其他字母,例如“hello pie”不應導致匹配。

我最接近的是如下:

re.search("[Hh]+.*?[Ee]+.*?[Ll]+.*?[Pp]", string)

但這太自由了,因為它允許出現“幫助”一詞以外的字母。 如果我只在每個括號之間使用“+”,那么限制性太強了,因為敵人不允許使用諸如“h!e!l!p!”之類的變體。 或“幫助”進行匹配。 我猜我需要在某處使用“[^A-ZA-z],但不確定將它放在哪里,或者該解決方案是否在正確的軌道上。-我很抱歉沒有在其中包含更多信息最初的問題。謝謝。

您的問題並未涵蓋所有可能發生的情況,但您可以嘗試以下操作:

^[hH]+[^\s\w]*[eE]+[^\s\w]*[lL]+[^\s\w]*[pP]+[^\s\w]*$

例如,這將捕獲諸如 H1E2L3P 之類的內容,如果您想更改它,則需要更改正則表達式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM