3

私がこのような多くの文字列を持っていると仮定します:

<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">

私は何が間違っているのですか?(私が使用している方法よりも一致するためのより良い方法があるかどうかを提案してください。)

4

1 に答える 1

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">']
于 2012-10-29T01:12:00.363 に答える