regex - 在python中使用正则表达式进行模式匹配没有给出预期的操作
问题描述
我有句子,需要检测下面的模式,并在该模式结束之前创建子字符串
subtask = 'Subtask25-35-23-860-05000-002TOPEND-UDYDATE20160901'
dd = re.findall('\-[0-9]*',subtask)
ind = subtask.index(dd[-1]) + len(dd[-1])
subtask [:ind]
预期输出为:'Subtask25-35-23-860-05000-002'。dd o/p: ['-35', '-23', '-860', '-05000', '-002', '-'] 预期为:['-35', '-23', ' -860','-05000']
解决方案
使用边界\b
前任:
import re
subtask = 'Subtask25-35-23-860-05000-002TOPEND-UDYDATE20160901'
print(re.findall(r"\b(-\d+)\b", subtask))
输出:
['-35', '-23', '-860', '-05000']
推荐阅读
- node.js - express.js 检查部分范围下载是否完成
- r - 如何将数据从宽格式转换为长格式但日期正确
- go - golang安装cover包时出现问题
- unity3d - Unity - 仅对一个场景启用 VR 支持
- jenkins - 如何在 Jenkins 管道中并行运行 for 循环的每次迭代?
- python - 如何在 Python 中从 PDF 中提取表格?
- java - JAVA ObjectNode 获取为空
- jquery - 用 html 中的 getJSON 填充
- laravel - 在 Laravel 模型中创建左连接方法
- c - 是否可以通过向 gcc 传递参数来声明弱函数?