Javascript正则表达式错误(无效的正则表达式:/?/:没有可重复的内容)

标签 javascript regex jsfiddle

我正在做的(如果相关的话)是一个函数来分隔彼此不同的unicode字符(例如数字和字母)。 正如您从标题中看到的,它给了我一个错误 Uncaught SyntaxError: Invalid Regular Expression:/?/: Nothing to Repeat

我绝对不是正则表达式方面的专家。我还没有抽出时间来研究它,并且我已经在 stack over flow 中进行了搜索,但我不明白任何答案,因此,如果您能让我保持简单,我将不胜感激,对于由此带来的不便,我们深表歉意。

链接在这里: http://jsfiddle.net/ueb2bu9o/5/

useReg = new RegExp(getFirstSplit[i]);

上面是计算机指出问题所在的代码,但这可能是不正确的。另外,对于我的这个小项目,我使用 Google Chrome 和 jsfiddle.net

如果您需要更多信息,请询问,我将更新这篇文章

最佳答案

如果我明白你想要做什么,你只是想逐个字符地遍历整个字符串,然后将它们按字母、数字或垃圾分类,对吗?

如果是这种情况,您甚至根本不需要拆分字符串 — .match()将根据您提供的正则表达式从字符串中简单地生成一个匹配数组,并且您可以以任何您想要的方式操作结果数组。在本例中,您希望使用 .join() 将它们连接成一个字符串。 .

您要为每个类别使用的正则表达式为:

  • /[a-z]/gi,表示匹配从 A 到 Z 的所有字母
  • /[0-9]/gi,表示匹配从0到9的所有数字字符
  • /[^a-z0-9]/gi,表示与A-Z或0-9字符集不匹配的字符,即前两个中未选择的字符。<

JS代码如下:

function manipulateString(string) {
    var letter,
        numbers,
        junk;

    letter = string.match(/[a-z]/gi).join('');
    numbers = string.match(/[0-0]/gi).join('');
    junk = string.match(/[^a-z0-9]/gi).join('');

    console.log(letter);
    console.log(numbers);
    console.log(junk);
}

请参阅此处的 fiddle :http://jsfiddle.net/teddyrised/ueb2bu9o/8/

关于Javascript正则表达式错误(无效的正则表达式:/?/:没有可重复的内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29476651/

相关文章:

regex - 如何至少匹配包含每个元音的单词一次?

css - 如何制作响应式div?

javascript - 我如何判断滚动条是否已到达帖子内容的末尾?

javascript - jQuery 选择器返回重复元素

javascript - localStorage中的JWT仅在刷新页面后才起作用

javascript - keyup 事件在动态生成 tr 元素后不起作用

javascript - 如何使用正则表达式和变异元音获取字符串的所有匹配项 - 标签

c# - 没有空格的任何字符的正则表达式

javascript - Tag-it 不适用于 jsfiddle

javascript - 为什么线路没有变化?