首页 > 解决方案 > 在正则表达式中匹配两个字母

问题描述

如何将字符串与符合 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

标签: pythonregex

解决方案


[EX]匹配单个E或单个,而X您想匹配EX子字符串。

您可以使用

(?:EX|[NR])\(\d+\)\S*
^^^^^^^^^^^

查看正则表达式演示

细节

  • (?:EX|[NR])- 一个匹配的非捕获组EXNR(与 相同(?:EX|N|R)
  • \(- 一个(字符
  • \d+- 1 位或多位数字
  • \)- 一个)字符
  • \S*- 0 个或多个非空白字符。

推荐阅读