正規表現: 引用符の有無にかかわらず文字列に一致します

概要

正規表現を使用して値を抽出しようとしています。 この値は引用符で囲んでも引用符で囲まなくても構いません。

例えば:

フー:「バー」 または foo: ‘バー’ または フー:バー

バーの値だけを抽出するにはどうすればよいですか?

私が使用する正規表現は次のとおりです。

3 つすべてを組み合わせるにはどうすればよいですか?

最初の正規表現は引用符「bar」にも一致し、引用符なしの文字列のみを保持したいため、使用したくありません。

グループを保存したいことに注意してください

解決策

この 1 つの正規表現を、3 つのケースすべてに対してオプションの一致および後方参照を備えた追加のキャプチャ グループとともに使用できます。

^(foo):\s*(["']?)(\w.*?)(?<=\w)\2$

正規表現のデモ

正規表現の詳細: