問題タブ [regex-alternation]
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.
java - 正規表現操作の優先度
文字列を文字列の配列に分割するJavaコードをいくつか書きます。まず、その文字列を regex pattern"\\,\\,|\\,"
を使用して分割し、次に pattern を使用して分割します"\\,|\\,\\,"
。最初の出力と 2 番目の出力に違いがあるのはなぜですか?
使用時の出力regex1
:
そして使用する場合regex2
:
この状況を処理するときに正規表現エンジンがどのように機能するかについて説明が必要です。
ruby - 交互に長いトークンが一致しないのはなぜですか?
ruby 2.1 を使用していますが、同じことが rubular サイトで複製できます。
これが私の文字列の場合:
そして、次の式で正規表現一致を行います。
より長いトークンを一致として取得することを期待しています。
代わりに、一致として 2 番目の代替を取得します。
私の知る限り、漢字でないときはそのように機能します。
これが私の文字列の場合:
そして、私はこの正規表現を使用します:
返された一致結果はfoobar
です。順序が逆の場合、一致する文字列はfoo
. それは私には理にかなっています。
python - 最初の交代が一致しないのはなぜですか?
次の時点で理解できない次の正規表現(Python) があります。最初のオルタネーションにも一致しないのはなぜですか?
正規表現(理解を深めるためにスペースを空けて):
テスト文字列:
asdasd $asd:sd + ${asd123:asd} $HOME $$asd
一致したもの:
asdasd $asd:sd + ${asd123:asd} $HOME $$asd
上記の正規表現パターンによると、最初の代替も表示されます。つまり、次のようになります。
交替パターンがよくわからないような?