python - 在正则表达式中匹配两个字母
问题描述
如何将字符串与符合 N 和 R 的两个字母字符匹配。
import re
string = 'vvvEX(1)35-5'
print(re.search(r'(N|R|[EX])\([0-9]\)\S*', string)[0])
# X(1)35-5
# expected output: EX(1)35-5
解决方案
[EX]
匹配单个E
或单个,而X
您想匹配EX
子字符串。
您可以使用
(?:EX|[NR])\(\d+\)\S*
^^^^^^^^^^^
查看正则表达式演示
细节
(?:EX|[NR])
- 一个匹配的非捕获组EX
,N
或R
(与 相同(?:EX|N|R)
)\(
- 一个(
字符\d+
- 1 位或多位数字\)
- 一个)
字符\S*
- 0 个或多个非空白字符。
推荐阅读
- postgresql - PostgreSQL 交叉表问题/“返回和 SQL 元组描述不兼容”
- swift - 使用 queryOrderedByChild 获取最高分列表时,如何以正确的顺序显示并列分数?
- nrf52 - 使用 nRF52840 构建 OpenThread 应用程序的起点
- ruby-on-rails - 使用现有的 Postgresql 数据库生成新的 Rails 应用程序
- pyspark - 如何使用模式匹配从 pyspark 数据框中删除行?
- java - 如何在maven应用程序中使用heroku环境变量绑定http服务器
- ios - 如何让一个按钮修改另一个按钮的功能
- airflow - Airflow 应该与 NiFi/StreamSets 集成吗?
- c# - 我找不到有关使用 OAuth2 身份验证访问 Google API 的 ASP.NET Core 的示例或文档?
- python - 在 Flask 中更改每个请求的日志级别