【发布时间】:2020-03-11 04:50:29
【问题描述】:
我正在尝试在 Python 中为非连字符的单词创建一个正则表达式,但我无法找出正确的语法。
正则表达式的要求是:
- 不应包含连字符和
- 至少应包含 1 个数字
我试过的表达方式是:=
^(?!.*-)
- 这匹配所有非连字符的单词,但我无法弄清楚如何额外添加第二个条件。
^(?!.*-(?=/d{1,}))
- 我尝试使用双重前瞻,但不确定要使用的语法。这匹配 ID101 但也匹配 STACKOVERFLOW
应该匹配的示例词: 1DRIVE , ID100 , W1RELESS
不应该匹配的示例词: 基本上是任何非数字字符串(如 STACK、OVERFLOW)或任何连字符(Test-11、24-hours)
附加信息:
我正在使用库 re 并编译正则表达式模式并使用 re.search 进行匹配。
任何帮助都会非常有帮助,因为我是正则表达式匹配的新手,并且在这方面停留了好几个小时。
【问题讨论】:
-
这是在一个字符串中查找多个还是验证单个“单词”输入?
-
that 为您工作吗?
-
@ctwheels 在我对输入进行标记并删除干扰词之后,它正在搜索一个单词。
-
Toto、Paul 和 Emma 的所有解决方案都非常适合我的要求!我只能选择一个作为答案。谢谢你们三个!