Ste*_*hen 8 javascript regex quantifiers
正则表达式是动态构建的,但我将它输出到firebug:
(.{1,38})(+|$\n?)
Run Code Online (Sandbox Code Playgroud)
错误是
invalid quantifier +|$\n?)
Run Code Online (Sandbox Code Playgroud)
我不知道从哪里开始.
实际代码是:
var re = top.RegExp;
var regex = new re("(.{1," + len + "})(+|$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
更新: 根据Bennor McCarthy的说明,我将代码更改为:
var regex = new re("(.{1," + len + "})(\+|\$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
Firebug仍然告诉我这个:
invalid quantifier +|$\n?)
[Break on this error] var regex = new re("(.{1," + len + "})(\+|\$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
另一个更新 看起来像我必须加倍削减它,这解决了问题!
var regex = new re("(.{1," + len + "})(\\+|\\$\\n?)", "gm");
Run Code Online (Sandbox Code Playgroud)
Ben*_*thy 12
问题是+,这是你需要逃避的量词.
请改用:
/(.{1,38})(\+|$\n?)/
Run Code Online (Sandbox Code Playgroud)
或在字符串内:
"(.{1,38})(\\+|$\\n?)"
Run Code Online (Sandbox Code Playgroud)
如果你想匹配文字$后面跟一个换行符,你需要转义$ with \(或\\在字符串中 - 请参阅我在下面的最后评论以获得解释).
| 归档时间: |
|
| 查看次数: |
15860 次 |
| 最近记录: |