Javascript正则表达式:如何为任意正则表达式仅保留匹配的组?
P粉574695215
P粉574695215 2024-01-16 22:01:08
0
1
391

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() 会做我想要的事情。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!