我正在做的(如果相关的话)是一个函数来分隔彼此不同的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/