简而言之:我想匹配任何包含 1 个字母和至少 1 个(数字/某些特殊字符)的“单词”(由空格分隔的连续字符集)。这些“单词”可以出现在句子中的任何位置。
尝试python使用re到目前为止,作为一种模式,我有:
\w*[\d@]\w*
在大多数情况下,这有效;但是,我不想有只是数字/特殊的“单词”。前任:
应匹配:
h1DF346
123FE453
3f3g6hj7j5v3
hasdf@asdf
r3
r@
Run Code Online (Sandbox Code Playgroud)
不应该匹配:
555555
@
hello
onlyletters
Run Code Online (Sandbox Code Playgroud)
无法排除“不应匹配”下的前两个。感觉这里缺少一些简单的东西。谢谢!
我会|像这样使用 or 运算符:
([A-Za-z]+[\d@]+[\w@]*|[\d@]+[A-Za-z]+[\w@]*)
Run Code Online (Sandbox Code Playgroud)
你想要的意思:
(?:...)如果(...)您正在正则表达式的其他部分使用组,请考虑使用非捕获组。