問題タブ [capture-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.
regex - 複数のキャプチャグループを使用したRでの正規表現グループのキャプチャ
Rでは、正規表現の一致からグループキャプチャを抽出することは可能ですか?私の知る限り、、、、、、、、またはグループキャプチャを返すgrep
ものはgrepl
ありません。regexpr
gregexpr
sub
gsub
このようにエンコードされた文字列からキーと値のペアを抽出する必要があります。
私はいつでも複数の完全一致のgrepsを実行することも、外部(非R)処理を実行することもできますが、すべてR内で実行できることを望んでいました。これを実行する関数またはそのような関数を提供するパッケージはありますか?
regex - 正規表現のキャプチャグループをツリーに解析するコード
正規表現内の(ネストされている可能性のある)キャプチャグループを識別し、ツリーを作成する必要があります。特定のターゲットはJava-1.6であり、理想的にはJavaコードが欲しいです。簡単な例は次のとおりです。
"(a(b | c)d(e(f * g))h)"
これはに解析されます
ソリューションは、理想的には、カウント式、数量詞など、およびエスケープのレベルを考慮に入れる必要があります。ただし、これを見つけるのが簡単でない場合は、使用する構文を制限できるため、より単純なアプローチで十分な場合があります。
編集します。明確にするために。正規表現文字列自体を解析したい。そのためには、Java1.6正規表現のBNFまたは同等のものを知る必要があります。私は誰かがすでにこれをしていることを望んでいます。
結果の副産物は、プロセスが正規表現の有効性をテストすることです。
regex - C#正規表現:トークンを実行時に生成された文字列に置き換えるにはどうすればよいですか?
次の入力文字列と正規表現文字列があるとします。
各トークン(つまり、$ {Principal}、$ {Rate}、および$ {Years})を「ReplaceToken」関数の戻り値に置き換えるにはどうすればよいですか?
regex - 重複する単語の正規表現
私は正規表現の初心者であり、次のような重複する連続する単語に「一致」する単一の正規表現を記述する方法がよくわかりません。
春のパリ。
それが関係しているわけではありません。
なぜ笑っている?私の正規表現はそんなに悪いですか??
上記の太字の文字列すべてに一致する単一の正規表現はありますか?
c# - C# で文字列から最後の一致を抽出する
私はフォームに文字列を持っています[abc].[some other string].[can.also.contain.periods].[our match]
私は今、文字列「私たちの試合」(つまり、括弧なし)に一致させたいので、ルックアラウンドなどで遊んだ。正しい一致が得られましたが、これはきれいな解決策ではないと思います。
言語は .net/c# です。正規表現を使用しないより簡単な解決策があれば、私も知りたいです
私を本当にいらいらさせているのは、(.*?)
後読みでは非貪欲が機能しないように見えるため、文字列をキャプチャするために使用できないという事実です。
私も試しました: Regex.Split(str, @"\]\.\[").Last().TrimEnd(']');
、しかし、私はこの解決策を本当に誇りに思っていません
c# - 正規表現のヘルプ
文字列から単語を取得しようとしてSysdba.
います。これが私の結果の例ですPRODUCTION
正規表現を作成しました
ただし、電話しvar tmp = CatagoryRegex.Match(SelectText);
ても一致しません。単純な間違いを犯している可能性が高いことはわかっていますが、それを見つけることはできません。
java - 正規表現パターンでのキャプチャグループの識別
Javaで(おそらく追加のオープンソースライブラリを使用して)キャプチャグループを識別する方法はありますかjava.util.regex.Pattern
(つまり、マッチャーを作成する前に)
Javaドキュメントの例:
キャプチャグループは、左から右に開き括弧を数えることによって番号が付けられます。たとえば、式((A)(B(C)))には、次の4つのグループがあります。
原則として、(コンパイルされた)パターンからこれらを識別できるはずです。
更新:@Lenielとeslewhereから、この機能(「名前付きグループ」)は2011年半ばにJava 7に存在するようです。それを待つことができない場合は、APIが何であるかはよくわかりませんが、jregexを使用できます。は。
regex - キャプチャ グループを使用した RegEx の空白に関する問題
次のタイプのデータに対して照合しようとしている正規表現があります。各トークンは不明な数のスペースで区切られています。
更新:「テキスト」はほとんどすべての文字にすることができます。これが、.*
最初に持っていた理由です。重要なことに、スペースを含めることもできます。
- 文章
- テキスト 01
- テキスト 01/03
- テキスト 01 (03 のうち)
- テキスト 01-03
「テキスト」、「01」、および「03」を個別のグループとしてキャプチャしたいのですが、「テキスト」以外はすべてオプションです。これまでに私ができる最高のことは次のとおりです。
これは #3 ~ #5 に一致し、それらを適切なキャプチャ グループに配置します。?
しかし、オプションの後に式の一部を作成するために最後に追加を追加する01
と、キャプチャ グループがすべてファンキーになる理由がわかりません。
上記の RegEx は #2 ~ #5 に一致しますが、キャプチャ グループは #2 と #5 のみが正しいです。
これは単純な正規表現のように見えるので、なぜこれほど苦労しているのかわかりません。
これは、これをデバッグするために使用しているオンライン正規表現エバリュエーターへのリンクです: http://regexr.com?2tb64。リンクには、最初の RegEx とテスト データが既に入力されています。
java - 未知の数の繰り返されるグループをキャプチャする正規表現
入力に不明な回数表示される可能性のあるパターンを認識するJavaプログラムで使用する正規表現を作成しようとしています。私のばかげた小さな例は次のとおりです。
String patString = "(?:.*(h.t).*)*";
次に、matcher.group(i)をループして、「小屋は暑い」のような行から一致にアクセスしようとします。キャプチャグループは1つしかないため、最後の一致(この場合は「ホット」)のみが記憶されます。キャプチャグループが再利用されると、matcher.group(1)の内容が上書きされると思います。しかし、私が欲しいのは、 「小屋」と「ホット」の両方を含むある種の配列です。
これを行うためのより良い方法はありますか?FWIW、私が本当にやろうとしているのは、合図の単語の後にあるすべての(おそらくマルチワードの)適切な名詞を拾うことです。その間に他の単語や句読点があるかもしれません。したがって、「見た」が合図であり、「ボブとジョンスミス、および彼の妻マーガレットを見た」という場合は、{「ボブ」、「ジョンスミス」、「マーガレット」}が必要です。
regex - grep キャプチャ正規表現
以下のデータをキャプチャするために grep を使用しようとしています。
私は持っている
2 つの問題:
- \\.xy$ のようなものはキャプチャできますが、\\.xy\\.ef$ はキャプチャできません
- 返された結果の末尾にリテラル $ が含まれているのはなぜですか?