Python 如何使用re跳过一个单词
我试图从文本文件中提取一些“单词” 部分文件文本为:Python 如何使用re跳过一个单词,python,regex,Python,Regex,我试图从文本文件中提取一些“单词” 部分文件文本为: Predicted XXX Area (NM): 88,0644 A 37 2.61 N, 1 12.75 W XXX Track Vertices: 37 3.99 N, 1 13.02 W 兴趣线 \tA\t37 2.61 N, 1 12.75 W \t37 3.99 N, 1 13.02 W 我应用以下模式 pat = re.compile(r'\s\s[1-9]?[0-9]\s[0-9]\.[0-9]{2}\
Predicted XXX Area (NM): 88,0644
A 37 2.61 N, 1 12.75 W
XXX Track Vertices:
37 3.99 N, 1 13.02 W
兴趣线
\tA\t37 2.61 N, 1 12.75 W
\t37 3.99 N, 1 13.02 W
我应用以下模式
pat = re.compile(r'\s\s[1-9]?[0-9]\s[0-9]\.[0-9]{2}\s[NS],.+')
matcher = re.search(pat,text)
索尔:
如何使用正则表达式跳过第一行,并按如下方式捕捉第二行
37 3.99N, 1 13.02W
感谢您提供的数据:您可以在多行模式下使用字符串
^
锚定的开头
>>> import re
>>> s = '''Predicted XXX Area (NM): 88,0644
A 37 2.61 N, 1 12.75 W
XXX Track Vertices:
37 3.99 N, 1 13.02 W'''
>>> p = re.compile(r'^\s+([1-9]?[0-9]\s[0-9]\.[0-9]{2}\s[NS],.+)', re.M)
>>> re.search(p, s).group(1)
'37 3.99 N, 1 13.02 W'
如果要查找以空格和数字开头的行:
pat = re.compile(r'^\s+[1-9]?[0-9]\s[0-9]\.[0-9]{2}\s[NS],.+')
^^^^
^
匹配行首。\s+
用于一个或多个空格
您不能总是相信空格的一致性,尤其是:
\t
时\tA\t37 2.61 N, 1 12.75 W
\t37 3.99 N, 1 13.02 W
使用泰克。我在完整文件中尝试了您的解决方案>>pat=re.compile(“(?m^\t\s[1-9]?[0-9]\s[0-9]\.[0-9]{2}\s[NS],.+”)并返回“\t 37 3.99 N,1 13.02 W”。您能解释一下(?m)的含义吗?我怎样才能避免在组中使用字符而只使用数字?