多个正则表达式匹配字符串

时间:2015-06-17 11:01:53

标签: python regex

我有一个需要在Regex中解析的字符串,并且必须使用

Dear Mr XXXX -Your IndiGo PNR is OFWDUE- 6E 437 29May BOMBLR 0610/0750 and 6E 426 03Jun BLRBOM 1800/1940. Use our app- http://mobile.goindigo.in to check flt. status or book next time.

我写的与我匹配的正则表达式是

Dear (.*?) -Your IndiGo PNR is (.*?)- (.*? ?.*?) (.*?) (.*?) (.*?)/(.*?)\. Use our app- (.*?) to check flt\. status or book next time\.

Dear (.*?) -Your IndiGo PNR is (.*?)- (.*? ?.*?) (.*?) (.*?) (.*?)/(.*?) and (.*? ?.*?) (.*?) (.*?) (.*?)/(.*?)\. Use our app- (.*?) to check flt. status or book next time\.

然而,它应该与后者匹配。此外,这些小组对我来说也非常重要,因为我必须从中提取信息。

我该如何处理?我必须在两个正则表达式中进行哪些更改,以便在这种情况下,只匹配第二个?

1 个答案:

答案 0 :(得分:0)

您使用的正则表达式过于笼统,因此它们可以匹配比您想要的更多的字符串。

例如亲爱的XXXX先生,XXXX肯定会有一个名字,所以你可以从你的正则表达式中排除数字。

其他正则表达式只匹配数字或大写字符串,因此您可以更具选择性并捕捉正确的模式。当然,如何编写正则表达式还取决于您使用的是哪种编程语言。