javascript - 字符串转正则表达式

标签 javascript regex

我从服务器获取正则表达式字符串。例如

js_pattern = "/^9\d+$/"

我需要从这个字符串中得到相同的正则表达式(没有任何修改)

js_regexp = /^9\d+$/

re = new RegExp(js_pattern) 对我不起作用,因为在那种情况下我得到 /\/^9d+$\//

在 JavaScript 中是否有将字符串转换为正则表达式的正确变体?

最佳答案

任何非特殊字符都被评估为字符串中的那个字符

例如

// true, because it's non-special so it gets evaluated to that character.
console.log("\a" === "a"); // true

// false, because it's the new line special character.
console.log("\n" === "n"); // false

JavaScript special characters

解决方法:

在发送之前转义服务器上的反斜杠。

关于javascript - 字符串转正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30232836/

相关文章:

javascript - 如何复制 onclick anchor 元素?

javascript - 从数据库检索数据后,Angular View 未更新

javascript - 在发起/来源处阻止跨域 XHR 或获取调用

regex - Grep 和正则表达式 : inconsistent behaviour

java - 如何从Java中不断变化的模板中提取字符串?

javascript按空格分割字符串,但忽略引号中的空格(注意不要也用冒号分割)

javascript - 为 HTML5 Django 网络应用程序实现实时通知系统

javascript - 为什么我在基本 html(带有 js 文件)页面上看不到警报?

javascript - 组合 "(.*?)"和 "(.*?(\n))+.*?"的正则表达式是什么?

c# - 在 C# 中将帖子标题转换为 URL 的最佳方法