我需要找到“数字-数字”格式的数字范围。数字应在 0-3000 范围内。所以我想出了这个正则表达式
match = re.search(r'^[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]-[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]',sentence)
Run Code Online (Sandbox Code Playgroud)
当我运行该程序时,我只想提取句子中的 56-900,但该程序提取了其他数字,例如 2016、CLP2012 等。我只想提取中间有“-”的数字。我的模式有什么问题。
您可以使用 pip 安装此软件包
pip 安装正则表达式引擎
from regex_engine import generator
generate = generator()
regex = generate.numerical_range(0,3000)
print(regex)
Run Code Online (Sandbox Code Playgroud)
^([0-9]|[2-8][0-9]|1[0-9]|9[0-9]|[2-8][0-9][0-9]|1 [1-9][0-9]|10[0-9]|9[0-8][0-9]|99[0-9]|[2-2][0-9][0- 9][0-9]|1[1-9][0-9][0-9]|10[1-9][0-9]|100[0-9]|300[0-0] )$
您还可以为浮点和负范围生成正则表达式
from regex_engine import generator
generate = generator()
regex1 = generate.numerical_range(5,89)
regex2 = generate.numerical_range(81.78,250.23)
regex3 = generate.numerical_range(-65,12)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4681 次 |
| 最近记录: |