1

大きな文字列内の 2 つの文字列間の単語数が < n かどうかを確認したい。たとえば、「素早い茶色のキツネが怠惰な犬を飛び越える」のような文字列があるとします。文字列「brown fox」と「lazy dog」の間の距離が、より大きな文字列で < 5 であるかどうかを確認したいと思います。そのための適切なpython正規表現は何でしょうか?

リンク通りにやってみました。私のコードは

s='a quick brown fox jumps over the lazy dog'
m=re.search("'brown fox'\W+(?:\w+\W+){1,4}'lazy dog'",s)

しかし、一致はありませんでした。

4

2 に答える 2

4

一重引用符に一致させようとしていますが、文字列に何もありません:

>>> re.search("brown fox\W+(?:\w+\W+){1,4}lazy dog", s)
<_sre.SRE_Match at 0x3045850>

>>> re.search("brown fox\W+(?:\w+\W+){1,3}lazy dog", s)
<_sre.SRE_Match at 0x3045920>

>>> re.search("brown fox\W+(?:\w+\W+){1,2}lazy dog", s)
(None)
于 2013-04-12T00:35:13.677 に答える
2

試すbrown fox\s+(\S+\s+){0,4}lazy dog

于 2013-04-12T00:35:41.293 に答える