正则表达式查找缺少字母的单词

时间:2011-07-28 04:54:27

标签: regex

我正在尝试使用正则表达式匹配最多两个缺少字母的单词。例如,如果感兴趣的单词是'hello',我想匹配以下字符串:

您好 地狱 直升机 hllo ELLO HEL HEO ELO LLO

我可以使用正则表达式了吗?l?o?匹配这些,但这也将匹配0,1和2个字母字符串。如何要求匹配长度为3-5个字符?

感谢您的帮助。

3 个答案:

答案 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}