Python正则表达式选择正则表达式A或正则表达式B.

时间:2014-07-11 17:18:34

标签: python regex

我正在尝试创建一个正则表达式语句,它将选择一个正则表达式或另一个,例如:

string = '123 Test String'   
pattern = r'( ?)([T](?P<name1>\w+))|([A](?P<name2>\w+))'
m = re.search(pattern, string)

基本上,我希望正则表达式选择另一个正则表达式。

1 个答案:

答案 0 :(得分:0)

通过使用交替(或)运算符&#34; |&#34;在你的模式中,你有效地比较你的字符串和两个正则表达式。如果你的字符串匹配&#34; |&#34;两侧的表达式,那么re.search将返回一个MatchObject。

参见Python documentation

轮替,或“或”运算符。如果A和B是正则表达式,A | B将匹配任何与A或B匹配的字符串优先级非常低,以便在交替使用多字符字符串时使其合理运行。 Crow | Servo将匹配Crow或Servo,而不是Cro,a&#39; w&#39;或者&#39; S&#39;和ervo。