問題タブ [recursive-regex]
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で後方参照を使用して正規表現をキャプチャする再帰グループ
正規表現内のグループへの後方参照も使用して、文字列で複数のグループを再帰的にキャプチャしようとしています。Pattern と Matcher と "while(matcher.find())" ループを使用していますが、すべてのインスタンスではなく、最後のインスタンスのみをキャプチャしています。私の場合、可能なタグは <sm>、<po>、<pof>、<pos>、<poi>、<pol>、<poif>、<poil> のみです。これらはフォーマット タグであるため、キャプチャする必要があります。
- タグの外側にある任意のテキスト (「通常の」テキストとして書式設定できるようにするため、あるグループのタグの前のテキストをキャプチャし、別のグループでタグ自体をキャプチャし、繰り返し実行することでこれを行っています。元の文字列からキャプチャされたすべてのものを削除します; 最後にテキストが残っている場合は、それを「通常の」テキストとしてフォーマットします)
- タグ内のテキストをどのようにフォーマットする必要があるかを知るためのタグの「名前」
- タグ名とそれに関連付けられたルールに従ってフォーマットされるタグのテキスト コンテンツ
ここに私のサンプルコードがあります:
System.out.println はコンソールに 1 回だけ出力され、次の結果が得られます。
グループ 3 は無視されます。有用なグループは 1、2、および 4 だけです (グループ 3 はグループ 2 の一部です)。前の「pof」、「poi」、および「po」タグをキャプチャしないのに、これが最後のタグ インスタンス「poil」のみをキャプチャするのはなぜですか?
私が見たい出力は次のようになります。
objective-c - NSRegularExpression の再帰パターン
Recursive pattern in regexと同様の質問ですが、Objective-C です。
外側の括弧の範囲または部分文字列を見つけたい。
入力例:
結果の例:
残念ながら、NSRegularExpression は明らかに受け付けていません?R
。外側のブラケットに一致する代替手段はありますか?
php - PHP の再帰的な正規表現パターン
PHPを使用して、変数名に応じてテキスト/htmlのセクションを置き換えるために、htmlテキストでタグスタイルの注釈を使用したいと思います。ネストされたタグを使用しない場合、置換自体は完全に機能します。
ただし、ネストされたタグがある場合は、外側のタグのみが置き換えられます。
私の正規表現はこれです:
解析するコンテンツの例を使用して、この正規表現の動作を確認できます:
https://regex101.com/r/rE3fL1/2
について読ん(?R)
だことがありますが、それを機能させることができません。真ん中を に
置き換えてみましたが、何も変わりません。.*?
(.*?|(?R))
ネストされたタグもキャプチャするように正規表現を変更するにはどうすればよいですか?
コード: ($this->output
テキストにアクセスします)
xml - 再帰的 XPath の条件
XPath で再帰的 AND 条件付き選択を使用するにはどうすればよいですか?
たとえば、次のドキュメントがあるとします。
私はちょうど選択したい:
したがって、効果的にこれ:
しかし、一般化されたアプローチ、つまり、さらに深くネストされたオブジェクトをカバーするものを使用します。このようなもの:
(cond)+
XPath構文ではなく、私が望むものの正規表現のような表現です。
regex - ネストされた XML 属性の正規表現
次の文字列があるとしましょう:
"<aa v={<dd>sop</dd>} z={ <bb y={ <cc x={st}>ABC</cc> }></bb> }></aa>"
{}
または. _ <dd>sop</dd>
_<bb y={ <cc x={st}>ABC</cc> }></bb>
"(\s*\w*=\s*\{)\s*(<.*>)\s*(\})"
一致を書いた正規表現
"<dd>sop</dd>} z={ <bb y={ <cc x={st}>ABC</cc> }></bb>"
これは正しくありません。
php - 再帰的な PCRE 正規表現を使用してネストされた css と一致させる方法は?
再帰的な PCRE php 正規表現を使用して、ネストされた css コード (文字列) から個々の結果を回復しようとしています:
期待される結果は次のようになります。
しかし、この現在の正規表現では、それを行うことができませんでした:(
教育/研究の目的で、これらの一致を取得するには(?R)を使用する必要があります。
どうすればこれを達成できますか?