python - 如果只有第一组匹配,如何匹配第二组
问题描述
如果只有第一组匹配,我正在尝试为匹配第二组的 python 脚本编写正则表达式。
如果文本如下所示,我正在尝试获取日期:
Cancel Date: 08/09/19
Cancellation Date: 08/05/19
如果文本不是上面提到的,它不应该抓住日期。例如截止日期:12/34/12 不应匹配或抢占日期。
当前的正则表达式解决方案:
(Cancel Date:|Cancellation Date:)[\s\n\r\t]*(\d{1,2}/\d{1,2}/\d{2})
我正在使用 regex.search().group(2) 来获取信息,但似乎在需要日期的地方不断收到无类型属性错误。任何帮助或替代解决方案表示赞赏。我正在使用 xml 格式的配置文件中捕获正则表达式。
解决方案
这似乎对我有用。您是否正确地转义了您的正则表达式模式,或者将其设为原始字符串?
import re as regex
strings = [
"Cancel Date: 08/09/19",
"Cancellation Date: 08/05/19",
"Due date: 12/34/12"
]
pattern = "Cancel(lation)? Date:[\s]*(\\d{1,2}/\\d{1,2}/\\d{2})"
for string in strings:
match = regex.match(pattern, string)
if match is None:
print("No Match")
else:
print(match.group(2))
输出:
08/09/19
08/05/19
No Match
推荐阅读
- javascript - 我可以在 Angular 9 应用程序中使用查询选择器吗
- amazon-web-services - Amazon Web Services (AWS) 的 AWS CloudFormation 模板文件无法创建 EC2 实例
- flutter - Flutter pub get failed with (1; The system cannot find path specified)
- python - Python中从R3到R15的地图图像
- react-native - 无法在原生反应中使用 TabIcon 更改屏幕?
- typescript - 无法在 TS 中使用模块,新手在这里
- c# - 使用 C# 在 Xamarin.android 中获取错误的 UTC 日期时间 (1970-01-01)
- python - 属性错误:模块“无 tf2 属性”(使用 TF2 运行 TF1 代码并具有所有兼容性)
- python - Pandas pivot:如何在不引入额外行的情况下保留所有 NaN 行
- r - 将 url 中的 excel 文件加载到 Rstudio