regex - Python正则表达式:中间没有空格
问题描述
我有以下字符串:
“......(一些字符)aaa bbb @@@8/13/2018 ......(一些字符)”
字符串中的@@@
代表一些随机字符。@@@
的长度未知,可能是 None (只是“aaa bbb 8/13/2018”)。
我的目标是从字符串 (8/13/2018) 和@@@
.
我目前使用以下代码:
m = re.search(r'\s.*?([0-9]{1,}/[0-9]{1,}/[0-9]{2,})', str)
m.groups()[0] ## The date
m.start() ## index of @@@
但是正则表达式匹配bbb @@@8/13/2018
而不是@@@8/13/2018
我还尝试将正则表达式更改为:
r'\s(?!\s).*?[0-9]{1,}/[0-9]{1,}/[0-9]{2,}'
r'\s(?!\s)*?[0-9]{1,}/[0-9]{1,}/[0-9]{2,}'
但它们都不起作用。
我将不胜感激任何帮助或意见。谢谢你。
解决方案
使用你的正则表达式的一部分,我认为你的意思是这样的
r'\S*([0-9]+/[0-9]+/[0-9]{2,})'
https://regex101.com/r/dxF4sT/1
要找到起始索引,它将是找到匹配项的位置。
请注意,\S
将找到所有连续的非空白。
您可以将其更改为其他内容,例如[@a-zA-Z]
...,只需将其添加到课程中即可。
推荐阅读
- python - 我可以检索 Twitter Card 标题和媒体 URL 吗?
- sql - 跨行集平均分配值
- php - PHP尝试使用substr仅显示文本文件中的最后6个字符
- javascript - React Redux 骨架从状态返回未定义的值
- arrays - 根据另一个按日期排序的数组对数组进行排序
- android - android - 如何在方向更改中更改 textview maxLines?
- c# - 循环提交数据
- html - html/css 中的楼梯踏步文本
- asp.net-core - HTTP 错误 502.5 故障排除 - 进程失败,AppPool 无效
- c# - ASP.net SSRS ReportViewer 会话超时 KeepSessionAlive 不起作用