javascript - 无法使与 javascript 长度相关的正则表达式起作用

标签 javascript regex

我正在尝试编写一个 Javascript 正则表达式来匹配少于 3 个字母的单词(并且不匹配更长的单词)。我不明白为什么这不起作用。

<html>
        <body>
                <script>
                var re = new RegExp("(\W|^)\w{0,2}(\W|$)", "gi");
                var text = "ab ab";
                var matched = re.test(text);
                document.write(matched)

                </script>
        </body>
</html>

我试图得到一个最小的例子,但我有更多的要求,如果例子不完整我会编辑并添加任何必要的。

最佳答案

您的 \ 被视为 Javascript 转义,因此正则表达式的实际值为 "(W|^)w{0,2}(W|$)".

相反,使用正则表达式文字:/(\W|^)\w{0,2}(\W|$)/gi

关于javascript - 无法使与 javascript 长度相关的正则表达式起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523751/

相关文章:

删除括号内不匹配的文本

regex - 如何计算单元格中的表情符号和符号?

javascript - 使用 Visual Studio 进行 Android 开发时需要澄清错误

javascript - 有没有办法在数组项值更改时获得回调?

javascript - 我如何在 Knex where like query 中转义 % ?

regex - 在 Vim 中,如何匹配模式只出现一次?

javascript - 如何检查鼠标的Y坐标是否大于某个值

javascript - ajax 可卸载内容上的 DOM 事件?

javascript - Angular 正则表达式测试输入的 ng-pattern 验证不一致

javascript - 用于验证主题标签 (#) 的正则表达式忽略包含 anchor (#) 的 URL