1. ホーム
  2. python

[解決済み] sre_constants.errorとは何ですか: Nothing to repeat

2022-02-28 21:44:35

質問

一見簡単そうに見えるPythonの正規表現で困っています。

# e.g. If I wanted to find "mark has wonderful kittens, but they're mischievous.."
p = re.compile("*kittens*")

これは、エラーで失敗します。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/re.py", line 190, in compile
    return _compile(pattern, flags)
  File "/usr/lib64/python2.7/re.py", line 242, in _compile
    raise error, v # invalid expression
sre_constants.error: nothing to repeat

正規表現は私の得意分野ではありません。

どのように解決するのですか?

正規表現と混同している グロブ .

ということですね。

p = re.compile(".*kittens.*")

アスタリスクは、REではグロブ表現と同じ意味ではないことに注意してください。