問題タブ [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.

0 投票する
0 に答える
55 参照

regex - 繰り返しキャプチャ グループの正規表現

正規表現を実行してデータを取得する必要がある大量のクラス データがあります。問題は、それを達成するために繰り返しキャプチャ グループが必要なことです。

必要な結果は2つの一致を返します

  1. マッチ
    Group1:Womn St 157A
    Group2:QUEERHISTORY MAKING
    Group3:32680
    Group4:LEC
    Group5:A
    Group6:SHAH, P.
    Group7:TuTh 11:00-12:20p
    Group8:IAB 13
  2. マッチ Group1:Womn St 171
    Group2:SEX/RACE & CONQUEST
    Group3:32710
    Group4:LEC
    Group5:A
    Group6:O'TOOLE, R.
    Group7:TuTh 2:00- 3:20p
    Group8:DBH 1300
    Group9:25610
    Group10:26350
    Group11:60320
    Group12:32711
    Group13:DIS
    Group14:1
    Group15:MONSON, A.
    Group16: W 9:00- 9:50
    Group17:HH 105
    Group18:25612
    Group19:26351
    Group20:60321
0 投票する
3 に答える
50 参照

javascript - 正規表現の置換は、.* なしで予期しない結果を返します

次の変換を行う正規表現を作成しようとしています。

  1. Apple Orange>AO
  2. Load Module>LM
  3. anApple Orange>O
  4. toLoad Module>M

適切なパターンを見つけましたが、奇妙な動作に気付きました。これが私の最初の試みです:

この式で 3 番目 (および 4 番目) のテスト ケースで置換を実行すると、驚くべき結果が得られます。

なぜそれは驚くべきことですか?文字列が大文字で始まっていないため、最初のグループは明らかに一致しませんが、2 番目のグループは単一の大文字のみを選択します: ([A-Z])、その後のすべてではありません:([A-Z].*)

驚いたことに、.*最後のキャプチャ グループの直後に追加すると、正しい結果が得られました。

なぜこれが起こっているのかは、JS と正規表現についての私の理解を超えています。どのような種類の闇の魔法が単一の文字[A-Z]を複数の文字や小文字の文字でさえも返すのかを知ることに興奮しています。

実行可能なデモは次のとおりです。

0 投票する
1 に答える
1915 参照

regex - OR 演算子を使用した Scala Regex Extractor

Scalaで正規表現抽出/マッチングを短絡するこの冗長コードがあります。これは、文字列を最初の Regex と一致させようとします。一致しない場合は、文字列を 2 番目の Regex と一致させようとします。

結果は次のとおりです。

s == "ab" 次に、extractedValue == "b"

s == "cd" 次に、extractedValue == "c"

s == "gg" の場合は、extractedValue == なし。

私の質問は、正規表現または演算子を使用して 2 つの正規表現を単一の正規表現に結合し、引き続き Scala エクストラクタを使用するにはどうすればよいかということです。これを試しましたが、常に None の場合です。

0 投票する
2 に答える
1201 参照

javascript - Javascript 正規表現: 動的キャプチャ グループ

私は初めて正規表現に頭を悩ませようとしています。

文字列の場合

基本的には、開始パターン、終了パターン、およびその間の任意の数のパターンです。

myregex.exec stringということで、順次復帰していただきたいと思います

私はこれのバリエーションを試しました

しかし、葉巻はありません...