Javascript 正規表現: 任意の正規表現に対して一致するグループのみを維持するにはどうすればよいですか?
P粉574695215
P粉574695215 2024-01-16 22:01:08
0
1
393

JS 正規表現 API に、一致するグループのみが (順番に) 保持されるように入力を書き換える方法はありますが、任意の正規表現 (グループをキャプチャしない正規表現も含む) で動作しますか?

たとえば、正規表現 /abc([D-F] )gh([I-K] )/ と入力 abcFEEDghKIKI の場合、出力したいのは "FEEDKIKI" 、これらはキャプチャされたパーツであるためです。

ただし、入力正規表現を /([a-zA-Z] )/ にすることもできます。これは、同じ入力に対して元のテキストを返すだけです。

正規表現が /([0-9] )/ の場合、空の文字列が返されます。

正規表現はツールによって生成されますが、正規表現が多数あるため、キャプチャ グループの数が異なる場合に特別なコードを使用する必要はありません。

理想的には、何らかの方法で入力内の一致の長さにアクセスできると思います。

replace() (または同様のもの) に渡されるコールバックを介してこれを達成する何らかの方法があると想定していますが、キャプチャ グループのインデックスをどのように取得できるかどうかは明確ではありません (必要に応じて JS で実行することもできます)。

本質的には、Java の MatchResult API を介して実行できることを再現しようとしています。グループを反復処理し、キャプチャ グループの開始/終了インデックスを見つけることができます。 < /p> ###前もって感謝します!

P粉574695215
P粉574695215

全員に返信(1)
P粉071626364

###発見する:

JavaScript 正規表現にアクセスするにはどうすればよいですか? (少なくとも最初は) exec() を使用すると、私が望むことができるようです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!