問題タブ [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 投票する
1 に答える
685 参照

ruby - 名前付きキャプチャをサポートする Ruby 正規表現マッチング列挙子

時刻情報を抽出するには、次のような文字列を考えてください。

str = "Sun rises at 6:23 am & sets at 5:45 pm; Moon comes up by 7:20 pm and goes down by 3:45 am"

スキャンのような列挙子が必要ですが、スキャンから利用できる配列ではなく、 MatchDataオブジェクトを取得できる列挙子が必要です。

たとえば、次のように記述できます。

str.scan( /(?<time>\d:\d{2}) (?<meridiem>am|pm)/ ){ |arr| p arr }

取得するため:

["6:23", "am"] ["5:45", "pm"] ["7:20", "pm"] ["3:45", "am"]

しかし、私は次のようなものがあるのだろうか:

str.match_all( /(?<time>\d:\d{2}) (?<meridiem>am|pm)/ ){ |md| p md }

取得するため:

#<MatchData "6:23 am" time:"6:23" meridiem:"am"> #<MatchData "5:45 pm" time:"5:45" meridiem:"pm"> #<MatchData "7:20 pm" time:"7:20" meridiem:"pm"> #<MatchData "3:45 am" time:"3:45" meridiem:"am">

前の質問で回答を見ましたが、それは洗練されていない解決策だと思います。そのため、回答が投稿されてからここ数年で状況が変わった場合に備えて確認してください。

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

java - グループのキャプチャ REGEX Java

正規表現でグループをキャプチャしたいのですが、本来あるべきように記述していないようです。次の行を検討してください。

グループ 1 と 2 をキャプチャしようとすると、IllegalStateExcpetion が発生しました。正規表現の何が問題なのか本当にわかりません。また、いくつかの異なる書き方を試しました =/.

よろしくお願いします。

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

java - 空白を含むJava正規表現分割文字列(左と右の両方が数値または - の場合を除く)

5-28 14:00 - 5-28 18:00 the60s(.corp) を分割する方法は、この文字列です。空白に数字または-がある場合を除いて、空白で分割したいと思います。

私が望む結果は次のとおりです。

ありがとう。

以下は私のコードです:

まず、右側の空白を @ に置き換えてから、文字列を @ で分割します。しかし、うまくいきません。

0 投票する
3 に答える
76 参照

regex - 出力ファイルの後処理時の Perl REGEX 反復キャプチャ グループ

科学形式の数値の文字列を扱っています。例えば

ここで、リストの i 番目の値を取得できるようにする perl の正規表現を書きたいと思います。だから私の現在のセットアップは次のとおりです

これで最初の番号が得られます。本当に長い正規表現を書かなくても、必要に応じて 7 番目または 50 番目をキャプチャできるようにしたいと考えています。

これを行う簡潔な方法はありますか?

前もって感謝します。

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

javascript - JavaScript 正規表現で特定のグループと一致できません

次のように、RaTeX コードに構文の強調表示を追加するために、 Rainbow.jsライブラリを使用しています。

#3しかし、他の方法で見ると、グループがキャプチャされているにもかかわらず、グループを強調表示することはできません。何がうまくいかないのでしょうか?最初のグループには一致するが、3 番目のグループには一致しないのはなぜですか?