問題タブ [regex-group]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 置換用の正規表現グループを作成するにはどうすればよいですか?
私はこのサンプル文字列を持っています:
つまり、すべての価格を削除したいと思います。
3つのグループに一致するはずの次の式があります。
しかし、どうやらそれは機能していません。
一度に 1 つのグループを置き換えると機能します。しかし、一致する可能性のあるすべてのグループを単一のステートメントに置き換えることができるかどうかを知りたいです。
上記のパターンに基づいて一致を表示しようとpreg_match_all($pattern, $snippet, $matches);
しましたが、3 つのグループをすべてまとめると一致が見つかりません。
regex - () で囲まれた正規表現の問題
私は正規表現を持っています
これには、コンマで区切られた 3 つのセクションがあります。
これを次のようなものと照合しようとすると
正規表現と一致しません。
でも合わせようとすると
それは完全に一致します。
正規表現の何が問題になっていますか?
php - preg_replaceセレクター内の一致するxxx($ 1)yyyパターンのみを置き換える方法
正規表現を使用して、文字列の一致する部分のみを消去しようとしています。この関数を使用してpreg_replace
いて、一致する部分を括弧で囲んで、一致するテキストを削除しようとしました。例:
ただし、これにより文字列全体が''に置き換えられます。text2だけを消去したいのですが、text1とtext3はそのままにしておきます。文字列の一致する部分だけを一致させて置き換えるにはどうすればよいですか?
c# - C#:正規表現文字列をグループと比較する
私はこの文字列を持っています:{test1}-{test2}/{x+y}
{test1}{test}
その文字列と一致するかどうかを確認したいと思います。
私がちょうど間の文字を無視することができればそれは一致するでしょう}...{
その正規表現をどのように書きますか?
アップデート:
{test1}{test2}{x+y}
文字列と一致するかどうかを確認したい:
{test1}-{test2}/{x+y}
c# - regex c# オプション グループ - 貪欲に行動する必要がありますか?
正規表現を持つ〜このように:
URL が見つかったらキャプチャしたいのですが、何かが見つかりましたが、リンクが取得できません (キャプチャは常に空です)。このように最後に疑問符を削除すると
これは、末尾にリンクがあるものにのみ一致します... 午前 2 時 40 分です... アイデアがありません...
- 編集 -
サンプル入力:
blablabla asd 1234t535 <a href="http://google.com" target="_blank">
期待される出力:
match 0:
「http://google.com」または「」が欲しいだけです
regex - 正規表現置換グループ(java、python、perl、awk)
グループ化による正規表現に基づいて置換を行う方法を探していますが、それはグループを置換するだけです。たとえば、私が持っている場合:
私は次のようなものを呼びたいです:
取得します:
java、perl、python、awkの「短い」ソリューションは大歓迎です。これまでのところ、index_ofなどを使用してそれを達成することができましたが、どこかにある種のワンライナーがあることを望んでいます:)
regex - 正規表現は、C++ コメントの左側の文字列と一致します
C++ コメントの左にある文字列とコメント自体を抽出するパターンを探しています。問題は、左側にも単一のスラッシュを含めることができることです。
例:
"abc/def//comment"
その結果、コメントの左側とコメント自体を含む 2 つのグループが必要です。
- abc/def
- //コメント
助言がありますか?
java - 重複するグループのキャプチャ
次のコードを見てください。
上記のプログラムの出力は次のとおりです。a < b, c > d
しかし、私は実際に期待していa < b, b > c, c > d
ます。
ここで私の正規表現に何か問題がありますか?
javascript - 正規表現: グループ内に部分文字列を含めないでください
グループ内の試合の一部を除外することは可能かどうか疑問に思っています。
その/(foo((?:bar)|(bad)))/
結果、「foobar」または「foobad」と、「foobar」または「foobad」を含むグループ 1 が一致すると思います。「foobar」または「foobad」と一致させたいのですが、グループ 1 には「foo」または「foobad」しか含まれていません。(?:...)
後で参照できないグループを作成するために正規表現構文が使用されることは知っていますが、上記の使用法は 3 つのグループがあることを意味します。\2 'bar' または 'bad'; \NONE は未使用のグループ 'bar' です。\3 は「悪い」を表します。
私がここに行くところがわかりますか?必要に応じて、サブグループを別のグループから除外したいと考えています。
または、グループ 1 を OR 形式で 2 回定義したいと思い/(foobar)|(foobad)/
ますが、入力が思いどおりにならないことはわかっています。その場合、match[1]
入力として「foobad」を指定すると、アクセスしようとすると「未定義」エラーが発生します。これは、実際にグループ 1 またはグループ 2 に分割されているためです。
私はこれをjavascript正規表現方言で書いています。
c# - 正規表現の簡素化 - グループが多すぎる
C スタイルのプリプロセッサ用の単純なテキスト グラバーを作成しています。入力テキスト (サンプル):
#if [!] defined
すべてのステートメントの後に続くテキストをキャプチャしたい。上記のテキストから必要な出力は次のとおりです。
ここでキャプチャする必要がある行番号は、3、5、および 7 です。7 行目には、スペースとタブが混在していることに注意してください。
この結果が得られる表現を作成しようとしましたが、それほど素晴らしいものはありませんでした。望ましい結果をもたらす私の式は-
(?<=(?<=(?<=(?<=(?<=(?<=#if)[\s\t]+)!?)[\s\t]*)defined)[\s\t]+).*
使用されるオプションは次のとおりです: Multiline + IgnoreCase
しかし、これはエレガントでも簡潔でもないと確信しています。より良い表現を提案できる人はいますか?
PS - Expressoを使用して式をテストしています。