我正在尝试使用正则表达式匹配最多两个缺少字母的单词。例如,如果感兴趣的单词是'hello‘,我希望匹配以下字符串:
helo llo
我可以使用正则表达式h?e?l?l?o?以匹配这些字符串,但这也将匹配0、1和2个字母字符串。如何才能要求匹配长度为3-5个字符?
谢谢你的帮助。
发布于 2011-07-28 12:56:43
您可以使用前视来检查这些字符中的3-5个:
(?=[hello]{3,5})h?e?l?l?o?请注意,由于help包含hel,因此这将在类似于help的字符串中找到匹配项。如果你想stp,你可以检查单词边界或字符串的结尾,这取决于你的情况。如果想要匹配字符串的两端,请在开头添加一个^,在末尾添加一个$。如果要检查单词边界,请在两端添加\b。
发布于 2011-07-28 13:04:07
我认为这将工作的((?=.{3,})h?e?l?l?o?) -您的正则表达式,加上“至少3个字符”。
您可能还希望它只匹配整个单词(而不是像“hellow”这样的单词的开头),因此在开头和结尾添加\b:\b((?=.{3,})h?e?l?l?o?)\b
发布于 2011-07-28 12:57:16
您可以尝试如下所示:
[hello]{3,5}https://stackoverflow.com/questions/6854253
复制相似问题