問題タブ [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 - Yahoo Pipes での正規表現
yahoo pipes の Regex モジュール1 - 55 of 55
のみを取得するには、どの正規表現を適用して置換する必要があるかを知りたいです。55
ありがとう
c# - この正規表現はどのようにして三角数を見つけますか?
一連の教育正規表現記事の一部であり、ネストされた参照の概念を穏やかに紹介しています。
最初のいくつかの三角数は次のとおりです。
数値が三角形かどうかを確認する方法はたくさんあります。次のように正規表現を使用するこの興味深い手法があります。
- nが与えられると、最初に同じ文字で満たされた長さnの文字列を作成します
- 次に、この文字列をパターンと照合します
^(\1.|^.)+$
- このパターンが文字列と一致する場合にのみ、nは三角形になります
これがいくつかの言語で機能することを示すためのスニペットを次に示します。
PHP(ideone.com)
Java(ideone.com上)
C#(ideone.com)
したがって、この正規表現は機能しているように見えますが、誰かがその方法を説明できますか?
同様の質問
regex - a^nb^n をどのように一致させることができますか?
これは、一連の教育用正規表現記事の第 2 部です。先読みとネストされた参照を使用して、非正規言語 a n b nに一致させる方法を示しています。ネストされた参照が最初に導入されたのは、この正規表現は三角数をどのように見つけますか?
典型的な非正規言語の 1 つは次のとおりです。
L = { a
nb
n: n > 0 }
a
これは、いくつかの's とそれに続く同数の 's で構成されるすべての空でない文字列の言語ですb
。この言語の文字列の例はab
、、、aabb
ですaaabbb
。
この言語は、ポンピング補題によって非正則であることを示すことができます。それは実際、文脈自由文法によって生成できる原型的な文脈自由言語です。 S → aSb | ab
それにもかかわらず、現代の正規表現の実装は、通常の言語以上のものを明確に認識します。つまり、正式な言語理論の定義によると、それらは「規則的」ではありません。PCRE と Perl は再帰的な正規表現をサポートし、.NET はバランシング グループの定義をサポートします。後方参照マッチングなどの「派手な」機能でさえ、正規表現が規則的ではないことを意味します。
しかし、この「基本的な」機能はどれほど強力なのでしょうか? L
たとえば、Java 正規表現で認識できますか? ルックアラウンドとネストされた参照を組み合わせて、たとえば 、 、 などの文字列に一致するように機能するパターンを作成することはできますString.matches
か?ab
aabb
aaabbb
参考文献
- perlfaq6: Perl の正規表現を使用してバランスのとれたテキストに一致させることはできますか?
- MSDN - 正規表現言語要素 - グループ定義のバランス調整
- pcre.org - PCRE のマニュアルページ
- regular-expressions.info -ルックアラウンドとグループ化と後方参照
java.util.regex.Pattern
リンクされた質問
ruby - 正規表現 - 繰り返しキャプチャされたグループの保存
これは私がやっていることです
これは私が得るものです
これは私が欲しいものです
ヘルプ?私は試して失敗しました:(
regex - JFlex でグループを取得する正規表現を使用するにはどうすればよいですか?
この質問は JFlex に関するものですが、おそらく lex や flex などの他のスキャナー ジェネレーターにも当てはまります。
何らかのルールがある場合、そのルールの一部でキャプチャ グループを作成し、そのキャプチャ グループの結果をルール マッチング時に呼び出されるコードの引数として使用するにはどうすればよいですか?
たとえば、SGML タグに一致する単純なルールがあるとします。
内側の文字部分 ([a-zA-Z]+) をキャプチャして、Token コンストラクターの引数として使用するにはどうすればよいですか?
編集:単純に yytext() を使用して一致した値全体を取得し、コード内の他の部分を分離できることは承知していますが、必要以上に複雑になるようです。
c# - C#での反復正規表現キャプチャ
いくつかの座標を含むファイルを読み取る必要があります。ファイルは次のように構成されています。
ここで、XとYは正の整数です。この問題を解決するために、正規表現を使用したいと思います(パターンが変更されたときのリファクタリングが最小限であるため、これは一般的には良い考えだと思います)。
したがって、私は次の正規表現を開発しました。
ただし、この正規表現をデータでテストすると、たとえば次のようになります。
正規表現は、最後のX、Y、およびCoorグループのみを思い出すようです。この場合、Coorは「12/17」、Xは「1917」、Yは「2010」です。ある種の木を生成する方法はありますか?それで、各Coorの下にXおよびYコンポーネントがある、すべてのCoor式を提供するオブジェクトを見つけましたか?
可能であれば、1つの正規表現のみを使用したいと思います。これは、形式が別の正規表現に変更される可能性があるためです。
regex - 正規表現のネストされた後方参照から内部値をフェッチする方法
サーバーから次の方法で入力を受け取ります(サンプル入力データ)。
入力を一致させ、一致に基づいて、値を持つ変数を作成する必要がありますhostname-eventname
。
私の正規表現
$2
またはのような参照変数で、ホストとイベントの名前を別々にしたいと思います$3
。
たとえば、次の入力について考えてみます。
<hostname-eventname>
上記の一致から取得したホスト名とイベント名に応じた名前の変数を作成する必要があります。
言う、
これ以上分割操作を適用できません。したがって、プログラミングはありません。入力データしか読み取れません。はい、正規表現はPerl正規表現タイプです。
クエリを明確にしたかどうかわかりませんか?
java - パターンが正しいのに正規表現マッチングが機能しない
正規表現を使用してから数年が経ちましたが、私の記憶が正しければ、次のように動作するはずです。
m は実行時に何も一致しません。これは、コードで行っていることの非常に単純化されたバージョンです。その例は、実際には正規表現に関する Java チュートリアルから取られています! 私は自分のhtmlマッチングコードを以前から書き直そうとしましたが、それがうまくいかなかったので、何か間違ったことをしたと思って調査に行きました...インターネットによると、そうではありませんでした。そう。なぜこれが機能しないのか、誰にも手がかりがありますか?
追加情報、test.matches(the_pattern)
返品false
。グループのバックトラックが台無しになっているようです。
regex - () で囲まれた正規表現の問題
私は正規表現を持っています
これには、コンマで区切られた 3 つのセクションがあります。
これを次のようなものと照合しようとすると
正規表現と一致しません。
でも合わせようとすると
それは完全に一致します。
正規表現の何が問題になっていますか?
regex - ターゲットテキストに一致した代替を識別する正規表現ツールまたはメソッド?
正規表現のデバッグでは、代替案のどの代替案が実際に一致したかを調べる必要があります。たとえば、ターゲット文字列の場合:
正規表現で:
上記の正規表現で、代替"f.*"
が実際に一致したことを知る方法が必要です。
多くの代替を含む複雑な正規表現では、これはデバッグにとって非常に困難です。