【问题标题】:How to avoid empty strings in pythong's regular expression function re.findAll?pythong的正则表达式函数re.findAll如何避免空字符串?
【发布时间】:2021-09-18 20:11:08
【问题描述】:

我使用python的re模块来识别句子中的整数。它也会产生空字符串。关于如何删除那些空字符串的任何想法?

In [15]: myre="[0-9]*"

In [16]: re.findall(myre,"23")
Out[16]: ['23', '']

In [17]: re.findall(myre,"23 is a good number.")
Out[17]:
['23',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '',
 '']

【问题讨论】:

标签: python python-re


【解决方案1】:

您应该使用[0-9]+ 而不是[0-9]*;后者与 0 或更多匹配(意味着数字是可选的);但是,+ 匹配一个或多个。

【讨论】:

    【解决方案2】:

    原因是您的正则表达式匹配 0 次或多次出现的数字。将其更改为[0-9]+\d+ 并试用。

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-23
      • 2015-04-29
      相关资源
      最近更新 更多