Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

正規表現の * と + はどのような記号ですか?

f:id:nana_yu:20181206114238p:plain

こんにちは、PyQサポートkamekoです。正規表現の記号 + と、似た記号 * について解説します。

質問

正規表現で、+はどのような作用をしているのでしょうか?

回答

+は直前の記号を「1回以上」繰り返す

+は「直前の文字を1回以上繰り返す」という正規表現で利用する特殊な記号です。

具体例

abc+となっていると、abc、abccc、abcccccにマッチし、1回以上マッチする場合なので、abにはマッチしません

直前の文字が含まれていない時もマッチさせたいときは*を使う

同じような記号で、*「直前の文字を0回以上繰り返す」という意味です。

具体例

abc*となっていると、ab、abc、abcccccのどれでもマッチします。cが0回以上なので、abにもマッチします

正規表現の他の記号について

Pythonの正規表現に用いられる記号は、公式ドキュメントにまとまっていますので御覧ください。

https://docs.python.org/ja/3/library/re.html#regular-expression-syntax

Copyright ©2017- BeProud Inc. All rights reserved.