0

Python が '.' を処理する方法にエラーがありますか? または '\b'? なぜこれが異なる結果を生み出すのかはわかりません。

import re

regex1 = r'\.?\b'
print bool(re.match(regex1, '.'))

regex2 = r'a?\b'
print bool(re.match(regex2, 'a'))

出力:

False

True
4

2 に答える 2

4

\b、単語境界、単語文字と非単語要素間の一致。そのため、単語のような文字と文字列の末尾の間では一致しますが、単語a以外の文字のような文字と文字列の末尾の間では一致しません.

于 2012-04-09T01:09:08.493 に答える
0

geekosaur が指摘した\bように、単なる短い書き方です。

(?:(?<=\w)(?!\w)|(?<!\w)(?=\w))

あなたの場合、使用したいかもしれません

(?!\w)

また

(?!\S)

の代わりに\b

于 2012-04-09T01:47:03.453 に答える