問題タブ [capturing-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 - このメールアドレス検証用の正規表現はどのように機能しますか?
電子メール アドレスの検証に使用される正規表現を検索しているときに、このページに出くわしました: http://www.regular-expressions.info/email.html。私はそれを理解できませんでした。
\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+.)+[AZ]{2,4}\b は john@server に一致します。 department.company.com であり、john@aol...com ではありません。
(?:[A-Z0-9-]+\.)
どのように機能し、どのように一致しないか、他のものとどのように一致するかを詳しく説明できますjohn@aol...com
か?
python - ポジティブルックビハインドvs非キャプチャグループ:異なる動作
私は自分のコードでPython正規表現(re
モジュール)を使用していますが、これらの場合の動作が異なることに気づきました。
と
私が取得する必要があるのはただ['xyz', 'abc']
です。例の動作が異なるのはなぜですか?また、どのようにして目的の結果を得るのですか?
c# - Visual Studioの正規表現は、繰り返されるキャプチャグループを置き換えます
私はかなり大きなプロジェクト (c#) に取り組んでおり、場所によっては次のようなスニペットがあります。
コンマで区切られた文字列の長さは任意です (平均的な範囲は 1 から 5 ですが、それ以上あるかどうかはわかりません)。これまでのところ、使用したいすべてのオカレンスを見つけることができます:
出現ごとに、次のようなものに置き換えたいと思います。
各オカレンスを手動で置き換えることは現実的ではありません。仕事をする置換正規表現はありますか?
ありがとう
php - PHP正規表現は、キャプチャグループ変数と数値を組み合わせます
たとえば、次のように置き換えたいと思います 。withこれは私がmargin:0px;
思いついmargin:0;
た正規表現です。$data = preg_replace('/([^\d])0px/', '$1 0', $data);
$1
:
この例で はを表します。
$1
phpが数値を別のキャプチャグループ変数として解釈せず、上記のように空白を使用せずに、数値と組み合わせるにはどうすればよいですか?
javascript - JavaScript 正規表現で各キャプチャのインデックスを取得する
のような正規表現を照合し/(a).(b)(c.)d/
、"aabccde"
次の情報を取得したい:
これどうやってするの?String.match は、すべてのキャプチャのインデックスではなく、一致のリストと完全な一致の開始のインデックスを返します。
編集: 単純な indexOf では機能しないテスト ケース
注: 質問はJavascript Regex: How to find index of each subexpression? に似ています。、しかし、正規表現を変更してすべての部分式をキャプチャ グループにすることはできません。
javascript - 一致するキャプチャ グループの最後のインスタンスのみをキャプチャする正規表現
同じ奇妙な結果を生成する 2 つの異なる言語 (javaScript と Flash) で次の正規表現があります。私が知りたいのは、それを修正する方法ではなく、なぜ動作が発生しているのかということです。
正規表現:
ここでの目標は、括弧で囲まれた文字列を照合し、エスケープされた括弧で止まらないようにすることです。
テキスト入力があれば正しく一致しますが、[abcdefg]
キャプチャ グループの一部として返されるのは だけです。式を に変更すると
、必要な結果が得られます。g
abcdefg
\[((?:\\{2}|\\\]|[^\]])*)\]
では、なぜこれが起こっているのですか?これは他の言語でも一貫していますか?
注:式を単純化\[([^\]])*\]
すると、同じ問題が発生します。
java - 正規表現キャプチャ グループに関する明確化
この Java API (ctrl + f) + "グループ名" から直接:
グループに関連付けられたキャプチャされた入力は、常にグループが最後に一致したサブシーケンスです。定量化のためにグループが 2 度目に評価される場合、以前に取得された値があれば、2 度目の評価が失敗しても保持されます。たとえば、文字列「aba」を式 (a(b)?)+ と照合すると、グループ 2 は「b」に設定されたままになります。キャプチャされたすべての入力は、各一致の開始時に破棄されます。
キャプチャ グループがどのように機能し、それらが後方参照でどのように機能するかを知っています。しかし、私は上で引用した API ビットの要点を理解していません。誰かがそれを言い換えることができますか?
前もって感謝します。
python - 正規表現で数字をエスケープする方法
re
そのため、モジュールごとに文字を置き換えていました。
文字列「abc_def」があり、1
後に追加する必要があり_
ます。
だから私はこれをしていました。
しかし、これは \1 と 1 を別々にではなく、\11 を 11 番目にキャプチャされたグループとして取ります。
ところで、正常r\1,1\3
に動作し、 を返しますabc_,1def
。
助けが必要 !
python - 正規表現 - 特定の長さの一意の文字のグループを照合する方法
すべての文字が一意である場合にのみ、特定の長さのアドホックな文字グループに一致する正規表現を探しています。
指定された文字列の例:
12313221323131232111212212111122233211221331
123, 132, 213, 231, 312, 321
は一致し
112, 122, 121, 111, 313, 322, 221, 323, 131
、 などは一致しません。
やってみ(?:([0-9])(?!.{3}\1)){3}
たけど全然違う