查看 RegExp 对象文档,找不到可以满足我要求的方法,或者我只是看起来不够努力。
说我有文字:
var text = "§193:And Some Text§";
还有一个 RegExp 对象:
var reg = /§([0-9]+):(.*?)§/;
运行reg.match(text);
显然会给我一个像这样的数组:
["§193:And Some Text§","193","And Some Text"]
有没有办法扭转这个过程?这样我就给一个函数提供了一个数组,它具有与 RegExp 具有相同数量的匹配组,并返回文本的样子:
var reg = /§([0-9]+)§(.*?)§/;
var data = ["293","Some New Text"];
var text = reg.rmatch(data);
现在text
将是§293:Some New Text§
我正在尝试为我的代码制作一个插件系统,其中一部分需要从插件中获取一个正则表达式并在多个过程中使用它,例如提取数据,从一些数据中重构原始文本。
现在我必须让插件提供一个可以返回原始文本的函数,并希望有一种方法可以做到这一点,这样他们就不必只是通过某种方式重用正则表达式。我可以在 RegExp 类上创建一个自定义函数的原型,然后使用它,我只是希望它已经有一些过程可以做到这一点。