[解決済み] 最初のマッチで停止する正規表現
2022-01-30 03:19:38
質問
私の正規表現パターンは次のようなものです。
<xxxx location="file path/level1/level2" xxxx some="xxx">
ロケーションに割り当てられた引用符の部分にのみ興味があります。欲張りなスイッチなしで、以下のように簡単にできるはずではありませんか?
/.*location="(.*)".*/
動作しないようです。
解決方法は?
正規表現をlazy/non-greedyにする必要があります。なぜなら、デフォルトでは
"(.*)"
の全てにマッチします。
"file path/level1/level2" xxx some="xxx"
.
その代わり、ドットスターを非貪欲にすることで、できるだけ少ない文字にマッチするようにすることができます。
/location="(.*?)"/
を追加する
?
を量詞の上に置いた場合 (
?
,
*
または
+
) を使えば、欲張らない。
注意: これは Perl 5 拡張を実装した正規表現エンジン (Java, Ruby, Python など) でのみ利用可能で、従来の正規表現エンジン (JavaScript, Awk など) では利用できません。
sed
,
grep
なし
-P
など)。
関連
-
[解決済み】regex オプションのワードマッチ
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] 小数点以下2桁までの値にマッチする正規表現
-
[解決済み] Regex空の文字列または電子メール
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] 正規表現における非捕捉グループとは何ですか?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] 有効な正規表現を検出するための正規表現はありますか?
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン