SyntaxError: Invalid regular expression: Invalid quantifier
正規表現の量指定子が不正な場合のエラー
概要
Invalid quantifier エラーは、正規表現の量指定子(*, +, ?, {n,m})の使い方が不正な場合に発生します。
エラーメッセージ
SyntaxError: Invalid regular expression: /+/: Nothing to repeat
SyntaxError: Invalid regular expression: Invalid quantifier
re.error: nothing to repeat at position 0
原因
1. 量指定子の前に対象がない
| |
2. 特殊文字のエスケープ忘れ
| |
3. {n,m}の不正な形式
| |
解決策
1. 特殊文字をエスケープ
| |
2. 正しい量指定子の使い方
| |
3. 文字列から正規表現を作成
| |
4. Python での対処
| |
よくあるパターン
URLパラメータのパース
| |
ファイルパスのマッチング
| |
数式のパース
| |
電話番号・メールアドレス
| |
正規表現の検証
| |
量指定子のまとめ
| 量指定子 | 意味 | 例 |
|---|---|---|
* | 0回以上 | a* → “”, “a”, “aa”… |
+ | 1回以上 | a+ → “a”, “aa”, “aaa”… |
? | 0回または1回 | a? → “”, “a” |
{n} | ちょうどn回 | a{3} → “aaa” |
{n,} | n回以上 | a{2,} → “aa”, “aaa”… |
{n,m} | n回以上m回以下 | a{2,4} → “aa”, “aaa”, “aaaa” |
エスケープが必要な文字
| |
関連エラー
関連エラー
JavaScript の他のエラー
この記事は役に立ちましたか?