タイトルがわかりにくくてすみません。
とある質問で、横から質問したのですが、思った以上私の理解が進まなかったため、質問を新たに建てました^^;
JavaScript の正規表現が拡張され、Perl の正規表現のようなことができるようになると、String#replace や RegExp#exec を使用する回数が減るというコメントをいただいたのですが、理解できませんでした。
どういう意味なのでしょうか?
ご教示いただけると幸いです。
よろしくお願いいたします。
具体的に何が分からなかったのか、を書いてほしいところです。http://perldoc.jp/docs/perl/5.10.0/perlretut.pod#Named32backreferences をJavaScriptで実装する場合、te2jiさんはどうしますか。
一条件ずつベタに書かないといけない感じでしょうか?
つまり、あんまりきれいでない感じで、3回同じようなことを書く?
もし、JavaScriptで「名前付き後方参照」が使用できたのなら、String#replace をコールバック関数を使わずに1回だけ使用したコードを書くことが出来ます。しかし、「名前付き後方参照」がない現状ではスマートに書く方法はありません。…という事を主張したいがための質問でしたが、難しかったでしょうか。
書き方には拘っていません。ただ、te2jiさんが「名前付き後方参照がある場合」と「名前付き後方参照がない場合」でコードの書き方がどう変わるのか、と認識しているのかを知りたかったのです。分からないポイントが不明なので、コードで書き表して具体化してほしかったというのが実情です。
あぁ、やっと理解できました^^;お恥ずかしい。。。ベタで3回書いているところが1回で済むよってことですね。
一応、String#replace 1回で書くことは出来ますが、コールバック関数を使わなければなりません。
本筋とは関係ないコメントで、混乱を誘わないでください!やっと理解できたんですからw
ありがとうございました。
いえ…、私の意図としては、「String#replace のコールバック関数」や「RegExp#exec の繰り返し処理」などを使わなければ、複雑な正規表現パターンに対応できない、という事なので本筋からずれているわけではありません。私なりの回答をしておきました。
確認しました!ありがとうございます。
回答2件
あなたの回答
tips
プレビュー