python正则表达式,匹配开头和结尾获取字符串

原始数据:METARZBAA230330Z13002MPS090V170CAVOK32/22Q1006NOSIG=<BR/>METARZBAA230300Z13003MP... 原始数据:
METAR ZBAA 230330Z 13002MPS 090V170 CAVOK 32/22 Q1006 NOSIG= <BR/>METAR ZBAA 230300Z 13003MPS 090V160 CAVOK 32/23 Q1007 NOSIG= <BR/>SPECI ZBAA 230330Z 13002MPS 090V170 CAVOK 32/22 Q1006 NOSIG= <BR/>

常规正则测试:(METAR|SPECI)+[\s\S]*?=
---测试通过

问题1 来了,这个表达式再python里面竟然不行,改成这个就可以: METAR+[\s\S]*?=|SPECI+[\s\S]*?=
为什么呢python里面 A|B 失败了?

另个问题:如何只匹配到第一字符串,即第一次出现=,
想要的结果就是第一个字符串:METAR ZBAA 230330Z 13002MPS 090V170 CAVOK 32/22 Q1006 NOSIG=
展开
 我来答
百度网友8e4ee6d
2018-07-23 · TA获得超过1138个赞
知道小有建树答主
回答量:887
采纳率:78%
帮助的人:366万
展开全部
import re

A = '''METAR ZBAA 230330Z 13002MPS 090V170 CAVOK 32/22 Q1006 NOSIG= <BR/>METAR ZBAA 230300Z 13003MPS 090V160 CAVOK 32/23 Q1007 NOSIG= <BR/>SPECI ZBAA 230330Z 13002MPS 090V170 CAVOK 32/22 Q1006 NOSIG= <BR/>'''

reg = re.findall(r'(?:METAR|SPECI)+[^=]+=', A)
print(reg[0])
追问
解决不了 只通过正则匹配到第一个=号是吧? ?
只能通过访问列表第一个元素 reg[0]??
追答
除非你要的字符串有不变的独一无二的特征,否则不可能只匹配到它
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式