python - 正则表达式查找完全匹配
问题描述
我有以下场景:
message: ON
message: "ON"
message: 'ON'
message: "TONC"
message: Los Angeles, ON
message: HOLDS ON FILE
我想在前三个场景中匹配 ON 这个词,而不是其他场景。
我尝试了积极/消极的前瞻/落后无济于事。前任:
\bON\b(?=[\s{0,1}\"{0,1}\'{0,1}]$)
解决方案
我建议修改字符串以消除您不想要的东西,而不是尝试直接匹配。在这里,我只是删除非字母字符并与所需结果进行比较:
#!/usr/bin/env python3
import re
tests = ['message: ON',
'message: "ON"',
'message: \'ON\'',
'message: "TONC"',
'message: Los Angeles, ON',
'message: HOLDS ON FILE']
for test in tests:
test = re.sub(r'\W+', '', test)
print(test)
print(test == "messageON")
推荐阅读
- arrays - 如何转阵列
在 pyspark 中解释? - ruby - 在使用 Ruby 编码倒带文件后,第 1 行中的非法引用 (CSV::MalformedCSVError)
- oracle - GoldenGate OGG-01296 错误是什么意思?
- java - Android Cordova 应用程序的条件编译
- datepicker - 有没有办法从 CoreData 设置起始 DatePicker 值?
- amazon-web-services - 如何通过 AWS EC2 将 DataFrames 从 Pycharm 传输到 AWS S3?
- spring-boot - Spring Boot - 无法通过 Zuul 代理获得 Keycloak 授权 api 的响应
- docker - 如何只显示某个 docker 服务的一个副本的日志而不包括其名称?
- android - 更新由管理的视图的属性“defaultSrc”时出错:RCTImageView(android 发布前报告)
- javascript - V-model 在数组中动态创建对象