gpt4 book ai didi

javascript - 如何动态创建正则表达式以在 .match Javascript 中使用?

转载 作者:行者123 更新时间:2023-12-01 15:53:16 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do you use a variable in a regular expression?

(24 个回答)


7年前关闭。




我需要动态创建一个正则表达式以在匹配函数 javascript 中使用。
这怎么可能?

var p = "*|";
var s = "|*";
"*|1387461375|* hello *|sfa|* *|3135145|* test".match(/"p"(\d{3,})"s"/g)

这将是正确的正则表达式: /\*\|(\d{3,})\|\*/g
即使我在 p 和 s 中添加反斜杠,它也不起作用。可能吗?

最佳答案

RegExp是你的 friend :

var p = "\\*\\|", s = "\\|\\*"

var reg = new RegExp(p + '(\\d{3,})' + s, 'g')

"*|1387461375|* hello *|sfa|* *|3135145|* test".match(reg)
使动态正则表达式全局化的关键是将其转换为 RegExp对象,并通过 'g' in 作为第二个参数。
Working example .

关于javascript - 如何动态创建正则表达式以在 .match Javascript 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25646461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com