查找仅包含特定字符的字符串中的单词

时间:2018-09-25 11:49:09

标签: python regex

我正在尝试编写正则表达式以查找仅包含特定字符的单词。

例如:

text= "I want to mes a message saying mess"

我希望正则表达式查找仅包含“ m”,“ e”,“ s”(即“ mes”和“ mess”)字符的单词。

我不希望正则表达式查找消息,因为它包含“ m”,“ e”,“ s”之外的其他字符。

reg= r"(?:[mes"]){1,}正在尝试......

还可以请我帮我写一个正则表达式,其中包含以我开头的单词,但不包含像man food这样的单词

text=" Regex should find mess mean and all words starting with me except men and meal"

输出应该仅是:mess mean me

谢谢...

3 个答案:

答案 0 :(得分:2)

我认为是\b[mes]+\b,但我认为还有更多方法可以实现

答案 1 :(得分:1)

以这种方式,无需正则表达式

text = "I want to mes a message saying mess".split()
rtext = [t for t in text if t.find("me") == 0] # only find word begin with `me`
xtext = [t for t in text if "me" in t] #May be too broad
print(rtext)

答案 2 :(得分:0)

  

还可以请我帮我写一个正则表达式,其中包含以我开头的单词,但不包含像man food这样的单词

是的。尝试以下操作:

(?!(\bmeal\b)|(\bmen\b))\bme\w+

see this link for explanation and demo