python - 正则表达式空格

标签 python regex

我一直在尝试自学正则表达式,因为到目前为止我大多以某种方式避免使用它。

但是我有一个益智游戏。

这是代码。

import re

listostuff = [ "crustybread", "rusty nail", "grust0", "superrust"]

for item in listostuff:
    result = True if re.match(r'[a-z]+rust[a-z0-9\s \t\s+]+', item) else False
    print item, result

结果如下:

crustybread True
rusty nail False
grust0 True
superrust False

我希望 superrust 不匹配,但我希望“生锈的钉子”与此匹配。

我已经将我能找到的所有空白字符都放入了重新设置中,但它没有拾取它。我也尝试过与单一的组合。它们似乎与生锈的钉子不匹配。

有人可以告诉我我做错了什么吗? (顺便说一句,我搜索过这个网站,空白字符似乎就是我这里的字符。

所以我的目标是让除 superrust 之外的所有匹配都正确。

最佳答案

您需要确保模式允许在开头匹配0个或更多字母,将[a-z]+替换为[a-z]*:

re.match(r'[a-z]*rust[a-z0-9\s]+', item)
#               ^

请注意,re.match 仅将匹配锚定在字符串的开头,如果您希望整个输入字符串匹配,请在模式末尾添加 $你的模式。

请参阅regex demo .

关于python - 正则表达式空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42957072/

相关文章:

regex - 尝试在Mac上的bash中将连字符后的单词的第一个字母大写

python - 使用正则表达式匹配Python中的字母数字字符列表

python - 在 Azure Functions 应用程序中存储身份验证 token

python 请求 POST cookie session

python - 为 mechanize.Browser 设置超时

python - 谷歌应用引擎 : How to choose regular expression for app. yaml

regex - 如何使用 * 量词捕获非捕获内部?

python - 在 Django REST framework 中,默认权限类如何与 per-view(set) 组合?

python - 如何在 python 中使用 openCV 在图像中实现均匀照明或如何增强非均匀照明图像中的照明

几千字的python正则表达式