【发布时间】:2020-05-12 19:00:46
【问题描述】:
我正在尝试编写一个正则表达式来查找包含字母和数字的单词的字符串(不检查字母,因为单词应该严格包含字母和数字)。
我想出了这个^(?=.*[a-zA-Z])(?=.*[0-9])
这是上述正则表达式的链接:https://regex101.com/r/Y97ykL/1
上面的正则表达式适用于像下面这样的简单场景
a1b4cc-> true(包含字母和数字)abc-> false(仅包含字母)123-> false(仅包含数字)
但是上面的正则表达式我无法涵盖的场景很少。 我怎样才能更新我上面的正则表达式也适用于下面的例子?
abc d77hv-> 真(因为efg123包含字母和数字)798 h7ghd-> 真(因为h7ghd包含字母和数字)798 abcd-> False(因为没有包含字母和数字的单词)
我对正则表达式不太熟悉,但是是否可以编写一个正则表达式来检查上述场景,而无需遍历字符串中的每个单词? 感谢您的帮助!
【问题讨论】:
-
抱歉,倒数第二段的整个内容我都无法理解。
-
我更新了示例。现在更清楚了吗? @MichaelButscher
-
试试
^(?=.*\b(?=\S*[a-zA-Z])(?=\S*[0-9]))regex101.com/r/Y97ykL/2 -
@MichaelButscher:哇,这太棒了。非常感激。您想将此添加为答案吗?
标签: python regex pattern-matching