【发布时间】:2013-11-12 18:12:26
【问题描述】:
我想将一些用户输入测试从 Java 移到 javascript。该代码假设在任何位置从用户输入字符串中删除通配符。我正在尝试将以下 Java 表示法转换为 javascript,但不断出错
"Invalid regular expression: /(?<!\")~[\\d\\.]*|\\?|\\*/: Invalid group".
我几乎没有使用正则表达式的经验。任何帮助都感激不尽: JAVA:
str = str.replaceAll("(?<!\")~[\\d\\.]*|\\?|\\*","");
我失败的 javascript 版本:
input = input.replace( /(?<!\")~[\\d\\.]*|\\?|\\*/g, '');
【问题讨论】:
-
Javascript 中没有lookbehind。
-
有人可以确认在 JS 中 \d 也需要像在 Java 中那样写成 \\d 吗?
-
@Pshemo 编写上述文字正则表达式时,无需将 \ 转义为 \\。
-
@some 感谢您的澄清。
标签: java javascript regex