問題タブ [backreference]
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.
javascript - JavaScript-文字列正規表現の後方参照
JavaScriptで次のように逆参照できます。
これは(かなりばかげています)「$test」を「test」に置き換えます。しかし、結果の$2の文字列を関数に渡したいと想像してください。関数は別の値を返します。これを試してみましたが、文字列「test」を取得する代わりに、「$2」を取得します。これを達成する方法はありますか?
java - ジャカルタ正規表現 1.5 後方参照?
これが一致する理由:
しかし、これはしません:
後方参照が機能していないようです...何が欠けていますか?
regex - 正規表現:後方参照
私はこれがこのxmlを取るべきだと思います:
そしてそれを次のように変えます:
しかし、何をしているのかはこれです:
javascript - 最初の一致の変更されたバージョンを 1 つの式のみと一致させますか?
私は Alex Gorbatchev の Syntax Highlighter のブラシを書いて、Smalltalk コードのハイライトを取得しています。ここで、次の Smalltalk コードを検討してください。
ブロック引数 ":each" を見つけて、その後発生するたびに "each" と一致させたい (簡単にするために、括弧内だけでなく、すべての発生としましょう)。引数には、":myArg" など、任意の名前を付けることができることに注意してください。
「:each」に一致する私の試み:
これはうまくいくようです。問題は、「each」の出現を一致させることです。私はこのようなものがうまくいくと思った:
しかし、交互の右辺は独立した式として扱われているようで、後方参照は機能しません。
単一の式で私が望むことを達成することさえ可能ですか? それとも、(別の関数呼び出しを介して) 2 番目の式内で後方参照を使用する必要がありますか?
mod-rewrite - RewriteCond%{QUERY_STRING}の問題、最終URLで後方参照が支払われない
.htaccessファイルに次のものがあります。
ただし、URLを入力すると、期待どおりに動作しません。
次のように書き直されます。
誰かが私が間違ったことを教えてもらえますか?
ありがとう、
eb_dev
php - 正規表現のパターン部分で逆参照を使用できますか?
正規表現パターンで参照を逆戻りさせる方法はありますか?
入力文字列の例:
引用されたテキストを引き出したいとすると、次の式を作成できます。
この正規表現はに一致しsome quoted
ます。
一重引用符もサポートしたい場合は、式を次のように変更できます。
しかし、入力文字列に引用符が混在している場合Here is 'some quoted" text.
、正規表現を一致させたくないと言うとどうなりますか。現在、2番目の例の正規表現は引き続き一致します。
私ができるようにしたいのは、最初の引用符が二重引用符である場合、最後の引用符は二重引用符でなければならないということです。また、開始引用符が一重引用符である場合、終了引用符は一重引用符である必要があります。
これを実現するためにバックリファレンスを使用できますか?
私の他の関連する質問:正規表現を使用して引用符の間にテキストを取得する
java - 計算に正規表現の後方参照を使用する(Java、Netbeansだけでなく)
Netbeansでは、「置換コマンド」(ctrl + H)に正規表現のチェックボックスがあり、正規表現を使用してドキュメント内を検索および置換できます。また、後方参照を使用して置き換えることができます。
問題は、計算で後方参照を使用してからそれを使用できるかどうかです。
たとえば、「Find what」で「([0-9] {1})」を使用すると、すべての数字が検索され、「replacewith」で「$1a」を使用すると、すべての数字が置き換えられます。数字自体の後に文字aが続きます。
123456 ---> 1a2a3a4a5a6a
123456を234567に置き換えたいので、「置換」で($ 1 +1)のようなものを使用できるかどうか、またはこれを行う別の方法があるかどうかを知りたいのですが、正規表現のみを使用します(MSExcelなどではありません)。似ている)
ありがとうございました
java - 後読みでの後方参照
後読みで後方参照を使用できますか?
split
私の後ろのどこにいても、キャラクターが2回繰り返されたいとしましょう。
使用REGEX2
(後方参照が後読み内にネストされた先読みにある場合) は機能しますがREGEX1
、実行時に次のエラーが発生します。
一般に、後方参照は任意の長さの文字列をキャプチャできるため、この種の\1
ことは理にかなっていると思います (ただし、正規表現コンパイラが少し賢ければ、この場合は(.)
長さが有限であると判断できます)。
では、後読みで後方参照を使用する方法はありますか?
そうでない場合は、このネストされた先読みを使用して常に回避できますか? 他によく使われるテクニックはありますか?
regex - ColdFusion-正規表現の後方参照を関数呼び出しに渡します
正規表現パターンの置換にColdFusionのreReplace()関数を使用しています。
置換文字列に関数呼び出しを使用して、一致した後方参照を渡したいのですが。
このようなもの:
しかし、「現在\ 1であるパラメータ3の値は、クラスjava.util.Date値でなければならない」ため、これは失敗します。
これを達成する他の方法はありますか?
ありがとう、Stu
java - 置換文字列の後方参照構文 (なぜドル記号なのか?)
Java では、および他のいくつかの言語ではそう思われますが、パターン内の後方参照の前にはバックスラッシュ ( \1
、\2
、\3
など) が付きますが、置換文字列ではドル記号 ( 、 、 など) が前に付きます ( $1
、$2
、$3
、および$0
)。
説明するスニペットを次に示します。
質問:
- 置換文字列での後方参照の使用は
$
Java に固有のものですか? そうでない場合、どの言語で開始されましたか? どのフレーバーがそれを使用し、どのフレーバーが使用しないのですか? - なぜこれが良い考えなのですか?同じパターン構文に固執しないのはなぜですか? それは、よりまとまりがあり、習得しやすい言語につながるのではないでしょうか?
- 上記のステートメント 1 と 4 が 2 と 3 の代わりに「正しい」ステートメントである場合、構文はより合理化されませんか?