包含转义符号的正则表达式
regex involving escaped symbols
我有个问题。
如果我尝试:
var stringTest = "stuff stuffthatIwant more stuff";
var stringRegex = stringTest.match("stuff (.*?) more");
stringRegex[1]返回:"stuffthatIwant"。
但是如果我把代码改成:
var stringTest = "stuff stuffthatIwant ? some stuff";
var stringRegex = stringTest.match("stuff (.*?) '?");
stringRegex[1]返回:"stuffthatIwant?somethings"。
我应该如何使用"?",就像我在第一个例子中使用"更多"一样?
将regex文本传递给String.match()
方法:
/stuff (.*?) '?/
查看regex演示
当您将字符串传递给match
方法时,它用于使用RegExp
构造函数构建regex对象,然后所有反斜杠都应该加倍。参见String.match()
MDN参考:
如果传递了非RegExp对象
obj
,则会使用new RegExp(obj)
将其隐式转换为RegExp
。
document.body.innerHTML = "stuff stuffthatIwant ? some stuff".match(/stuff (.*?) '?/)[1];
相关文章:
- 包含转义符号的正则表达式
- 正则表达式上的重音符号有什么用
- 正则表达式替换为插入符号
- JavaScript正则表达式,带有URL激活以及微笑符号等
- javascript正则表达式匹配字符串包含阿拉伯特殊字符符号'œ;u0640
- 如何向正则表达式添加特殊符号以允许在文本字段中使用
- JavaScript正则表达式将连续的与号符号替换为分号
- 正则表达式以 @ 符号开头
- 使用正则表达式获取 $ 符号前的数字
- Javascript 正则表达式字符范围 A-z 匹配插入符号 (“^”)
- Javascript 正则表达式来匹配我的数组中的表情符号
- 正则表达式 - 从文本输入中删除美元符号
- 正则表达式字符串比较忽略符号
- 正则表达式尝试匹配符号前后的字符
- 通过正则表达式删除符号
- 正则表达式模式字母数字和美元符号
- 字母数字、空格和符号的正则表达式,不像我需要的那样匹配
- 正则表达式 - +/- 符号和小数
- JavaScript 正则表达式符号出现
- Javascript正则表达式符号,但不是空间