私はかつて次の正規表現の例を次のように読みました
average\(([^\)]*)\)
これは何を表していますか?つまり、この正規表現の構造をどのように理解するのでしょうか。
あなたの正規表現は一致しています:
average(what%ever&is¬_containingAAAAAAAAAclosingParenthese)
また、エスケープされていない括弧は、多くの場合、抽出したい正規表現の一部であるグループを表します。
次のテキストがある場合
This boy entered a pub and average(Hello I'm the group) ordered a beer.
あなたの正規表現は
average(Hello I'm the group)
部。一致したら、抽出できます
Hello I'm the group
正規表現はグループを定義しているため、次のようになります。
([^\)]*)
説明:
()[] * ^は正規表現に関する特殊文字ですが、バックスラッシュ\でエスケープして、文字自体として使用できます。
[^)]:閉じ括弧ではない任意の文字の文字クラスに一致します。[^)] *:このクラスの未定義の文字数(0..n)に一致します。
それが役立つことを願っています、それが十分に明確であるかどうかわからない。
[^)]は、)以外の任意の文字を意味します
文字*は最終的に繰り返されることを意味します
()自分自身を一致させる
\(... \)後でアクセスする式の一部を識別します
正規表現を理解して学習するための優れたリソースであるサイトがいくつかあります。正規表現を貼り付けるだけで、説明が出てきます。
私のお気に入りはregexper.comです:
regex101.comもあります。これは、何が起こっているのかを文字ごとに説明し、下部に便利なリファレンスを提供します。