相同的动态正则表达式和内联正则表达式在javascript中不提供相同的输出
same dynamic regex and inline regex not giving same output in javascript
我一直盯着同一regex的这两种风格,不明白为什么结果不同:
var projectName="SAMPLE_PROJECT",
fileName="1234_SAMPLE_PROJECT",
re1 = new RegExp('^('d+)_SAMPLE_PROJECT$','gi'),
re2 = /^('d+)_SAMPLE_PROJECT$/gi,
matches1 = re1.exec(fileName),
matches2 = re2.exec(fileName);
console.log(matches1);//returns null
console.log(matches2);//returns correctly
这是jsbin:https://jsbin.com/badoqokumu/edit?html,js,输出
你知道我实例化RegExp肯定做错了什么吗?
谢谢。
在第一种情况下,您有一个字符串文字,它使用'
引入转义序列。字符串中的'd
就是d
。如果需要'd
,则需要键入''d
。
在第二种情况下,您有一个正则表达式文字,它不会将'
解释为字符串转义序列。
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 正则表达式给出错误的输出
- 正则表达式用于 Flickr 的 JS 输出
- 为什么我在正则表达式输出中得到 /
- 相同的动态正则表达式和内联正则表达式在javascript中不提供相同的输出
- 我该如何编写一个正则表达式来接受任何输入字符串并只输出字母
- JS替换正则表达式,但在输出中使用部分表达式,如变量
- 通过正则表达式在表中搜索没有显示正确的输出
- Javascript正则表达式修复toPrecision(2)输出
- 用于Google Calendar API日期输出的正则表达式