javascript 查找并替换字符串中的动态模式

发布于 2024-12-10 05:12:59 字数 378 浏览 0 评论 0原文

我有一个动态模式,我一直在使用下面的代码来发现

var matcher = new RegExp("%" + dynamicnumber + ":", "g");
var found = matcher.test(textinput);

我需要该模式来满足新的要求,即包含 y 或 n 的附加尾随 5 个字符。然后删除它或用“”(什么都没有)替换它。

我尝试了该模式的语法,但显然它不起作用。

var matcher = new RegExp("%" + dynamicnumber + ":"  + /([yn]{5})/, "g");

如有任何提示,TIA 表示赞赏

I have a dynamic pattern that I have been using the code below to find

var matcher = new RegExp("%" + dynamicnumber + ":", "g");
var found = matcher.test(textinput);

I need the pattern to have a new requirement, which is to include an additional trailing 5 characters of either y or n. And then delete it or replace it with a '' (nothing).

I tried this syntax for the pattern, but obviously it does not work.

var matcher = new RegExp("%" + dynamicnumber + ":"  + /([yn]{5})/, "g");

Any tip is appreciated

TIA.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

橙味迷妹 2024-12-17 05:12:59

您应该只将正则表达式字符串传递到 RegExp c'tor 中:

var re = new RegExp("%" + number + ":"  + "([yn]{5})", "g");

You should only pass the regex string into the RegExp c'tor :

var re = new RegExp("%" + number + ":"  + "([yn]{5})", "g");
欲拥i 2024-12-17 05:12:59
var matcher = new RegExp("(%" + number + ":)([yn]{5})", "g");

然后将其替换为第一个捕获组的内容。

var matcher = new RegExp("(%" + number + ":)([yn]{5})", "g");

Then replace it with the contents of the first capture group.

鹿港巷口少年归 2024-12-17 05:12:59

使用引号而不是斜杠:

var matcher = new RegExp("%" + number + ":([yn]{5})", "g");

此外,请确保 dynamicnumbernumber有效正则表达式。特殊字符必须以双斜杠作为前缀,\\,文字双斜杠必须写为四个斜杠:\\\\

Use quotes instead of slashes:

var matcher = new RegExp("%" + number + ":([yn]{5})", "g");

Also, make sure that dynamicnumber or number are valid RegExps. special characters have to be prefixed by a double slash, \\, a literal double slash has to be written as four slashes: \\\\.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文