問題タブ [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.

0 投票する
5 に答える
51742 参照

javascript - JavaScript-文字列正規表現の後方参照

JavaScriptで次のように逆参照できます。

これは(かなりばかげています)「$test」を「test」に置き換えます。しかし、結果の$2の文字列を関数に渡したいと想像してください。関数は別の値を返します。これを試してみましたが、文字列「test」を取得する代わりに、「$2」を取得します。これを達成する方法はありますか?

0 投票する
1 に答える
162 参照

java - ジャカルタ正規表現 1.5 後方参照?

これが一致する理由:

しかし、これはしません:

後方参照が機能していないようです...何が欠けていますか?

0 投票する
1 に答える
761 参照

regex - 正規表現:後方参照

私はこれがこのxmlを取るべきだと思います:

そしてそれを次のように変えます:

しかし、何をしているのかはこれです:

0 投票する
2 に答える
318 参照

javascript - 最初の一致の変更されたバージョンを 1 つの式のみと一致させますか?

私は Alex Gorbatchev の Syntax Highlighter のブラシを書いて、Smalltalk コードのハイライトを取得しています。ここで、次の Smalltalk コードを検討してください。

ブロック引数 ":each" を見つけて、その後発生するたびに "each" と一致させたい (簡単にするために、括弧内だけでなく、すべての発生としましょう)。引数には、":myArg" など、任意の名前を付けることができることに注意してください。

「:each」に一致する私の試み:

これはうまくいくようです。問題は、「each」の出現を一致させることです。私はこのようなものがうまくいくと思った:

しかし、交互の右辺は独立した式として扱われているようで、後方参照は機能しません。

単一の式で私が望むことを達成することさえ可能ですか? それとも、(別の関数呼び出しを介して) 2 番目の式内で後方参照を使用する必要がありますか?

0 投票する
1 に答える
7474 参照

mod-rewrite - RewriteCond%{QUERY_STRING}の問題、最終URLで後方参照が支払われない

.htaccessファイルに次のものがあります。

ただし、URLを入力すると、期待どおりに動作しません。

次のように書き直されます。

誰かが私が間違ったことを教えてもらえますか?

ありがとう、

eb_dev

0 投票する
3 に答える
4472 参照

php - 正規表現のパターン部分で逆参照を使用できますか?

正規表現パターンで参照を逆戻りさせる方法はありますか?

入力文字列の例:

引用されたテキストを引き出したいとすると、次の式を作成できます。

この正規表現はに一致しsome quotedます。

一重引用符もサポートしたい場合は、式を次のように変更できます。

しかし、入力文字列に引用符が混在している場合Here is 'some quoted" text.、正規表現を一致させたくないと言うとどうなりますか。現在、2番目の例の正規表現は引き続き一致します。

私ができるようにしたいのは、最初の引用符が二重引用符である場合、最後の引用符は二重引用符でなければならないということです。また、開始引用符が一重引用符である場合、終了引用符は一重引用符である必要があります。

これを実現するためにバックリファレンスを使用できますか?


私の他の関連する質問:正規表現を使用して引用符の間にテキストを取得する

0 投票する
2 に答える
927 参照

java - 計算に正規表現の後方参照を使用する(Java、Netbeansだけでなく)

Netbeansでは、「置換コマンド」(ctrl + H)に正規表現のチェックボックスがあり、正規表現を使用してドキュメント内を検索および置換できます。また、後方参照を使用して置き換えることができます。

問題は、計算で後方参照を使用してからそれを使用できるかどうかです。

たとえば、「Find what」で「([0-9] {1})」を使用すると、すべての数字が検索され、「replacewith」で「$1a」を使用すると、すべての数字が置き換えられます。数字自体の後に文字aが続きます。

123456 ---> 1a2a3a4a5a6a

123456を234567に置き換えたいので、「置換」で($ 1 +1)のようなものを使用できるかどうか、またはこれを行う別の方法があるかどうかを知りたいのですが、正規表現のみを使用します(MSExcelなどではありません)。似ている)

ありがとうございました

0 投票する
1 に答える
2208 参照

java - 後読みでの後方参照

後読みで後方参照を使用できますか?

split私の後ろのどこにいても、キャラクターが2回繰り返されたいとしましょう。

使用REGEX2(後方参照が後読み内にネストされた先読みにある場合) は機能しますがREGEX1、実行時に次のエラーが発生します。

一般に、後方参照は任意の長さの文字列をキャプチャできるため、この種の\1ことは理にかなっていると思います (ただし、正規表現コンパイラが少し賢ければ、この場合は(.)長さが有限であると判断できます)。

では、後読みで後方参照を使用する方法はありますか?

そうでない場合は、このネストされた先読みを使用して常に回避できますか? 他によく使われるテクニックはありますか?

0 投票する
3 に答える
1076 参照

regex - ColdFusion-正規表現の後方参照を関数呼び出しに渡します

正規表現パターンの置換にColdFusionのreReplace()関数を使用しています。

置換文字列に関数呼び出しを使用して、一致した後方参照を渡したいのですが。

このようなもの:

しかし、「現在\ 1であるパラメータ3の値は、クラスjava.util.Date値でなければならない」ため、これは失敗します。

これを達成する他の方法はありますか?

ありがとう、Stu

0 投票する
2 に答える
26912 参照

java - 置換文字列の後方参照構文 (なぜドル記号なのか?)

Java では、および他のいくつかの言語ではそう思われますが、パターン内の後方参照の前にはバックスラッシュ ( \1\2\3など) が付きますが、置換文字列ではドル記号 ( 、 、 など) が前に付きます ( $1$2$3、および$0)。

説明するスニペットを次に示します。

質問:

  • 置換文字列での後方参照の使用は$Java に固有のものですか? そうでない場合、どの言語で開始されましたか? どのフレーバーがそれを使用し、どのフレーバーが使用しないのですか?
  • なぜこれが良い考えなのですか?同じパターン構文に固執しないのはなぜですか? それは、よりまとまりがあり、習得しやすい言語につながるのではないでしょうか?
    • 上記のステートメント 1 と 4 が 2 と 3 の代わりに「正しい」ステートメントである場合、構文はより合理化されませんか?