普通の英語のキーボードから入力できる文字列と一致させようとしています。Python正規表現エラー:0の位置に何も繰り返しません。
したがって、キーボードにはアルファベット、数字、およびすべての記号が含まれている必要があります。
Corresponding regex : "[a-zA-Z0-9\t ./,<>?;:\"'`[email protected]#$%^&*()\[\]{}_+=|\\-]+"
この正規表現をregexr.comで検証しました。
>>> a=re.match("+how to block a website in edge",pattern)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\re.py", line 163, in match
return _compile(pattern, flags).match(string)
File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\re.py", line 293, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_compile.py", line 536, in compile
p = sre_parse.parse(p, flags)
File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_parse.py", line 829, in parse
p = _parse_sub(source, pattern, 0)
File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_parse.py", line 437, in _parse_sub
itemsappend(_parse(source, state, nested + 1))
File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_parse.py", line 638, in _parse
source.tell() - here + len(this))
sre_constants.error: nothing to repeat at position 0
すべきですか?私は、次のエラーを取得していますマッチングにPythonで
、 Pythonのバグ? – dnit13
あなたのパターンは '[ - } \ t] +' *(ASCIIテーブルを参照)*に短縮できることに注意してください。 '〜〜\ t \ n] +' –