假设我有很多这样的字符串:
<a id="1.1">
<a id="1.1.1">
<a id="1.1.2">
<a id="1.1.3">
<a id="1.2">
<a id="1.2.1">
我想创建一个只捕获带有“#。#”的正则表达式,所以我试图匹配它以使它以双引号结束,但我没有匹配。
re.compile("[1-9].[1-9]\"")
我期望的结果输出是一个包含以下内容的列表:
<a id="1.1">
<a id="1.2">
我做错了什么? (请建议是否有比我正在使用的方法更好的匹配方式。)
答案 0 :(得分:3)
双面加双引号:r'"\d\.\d"'
。
例如,
In [109]: import re
In [110]: text = '''<a id="1.1">
<a id="1.1.1">
<a id="1.1.2">
<a id="1.1.3">
<a id="1.2">
<a id="1.2.1">'''.splitlines()
In [111]: [line for line in text if re.search(r'"\d\.\d"', line)]
Out[111]: ['<a id="1.1">', '<a id="1.2">']