我正在尝试使用正则表达式匹配最多两个缺少字母的单词。例如,如果感兴趣的单词是'hello',我想匹配以下字符串:
您好 地狱 直升机 hllo ELLO HEL HEO ELO LLO
我可以使用正则表达式了吗?l?o?匹配这些,但这也将匹配0,1和2个字母字符串。如何要求匹配长度为3-5个字符?
感谢您的帮助。
答案 0 :(得分:6)
您可以使用前瞻检查这些字符中的3-5个:
(?=[hello]{3,5})h?e?l?l?o?
请注意,由于help
包含help
,因此会在hel
之类的字符串中找到匹配项。如果你想stp你可以根据你的情况检查单词边界或字符串的结尾。如果您想匹配sting的末尾,请在开头添加^
,在结尾添加$
。如果要检查字边界,请在两端添加\b
。
答案 1 :(得分:3)
我认为这会有效((?=.{3,})h?e?l?l?o?)
- 你的正则表达式,加上“至少3个字符”。
你可能希望这只能匹配整个单词(不是“hellow”之类的开头),所以在开头和结尾添加\b
:\b((?=.{3,})h?e?l?l?o?)\b
答案 2 :(得分:1)
您可以尝试这样的事情:
[hello]{3,5}