我相信这真的很容易,但我该如何匹配
- 匹配行首或空格
- 匹配 az
- 匹配行尾或空格
我只想退回商品编号。2 所以对于以下字符串
"one 1.ignore two 2ignore ignore3 three"
表达式将返回
["one","two","three"]
谢谢
我相信这真的很容易,但我该如何匹配
我只想退回商品编号。2 所以对于以下字符串
"one 1.ignore two 2ignore ignore3 three"
表达式将返回
["one","two","three"]
谢谢
您需要查找与这些项目匹配的正则表达式,这在 javascript 中不受支持。要么您进行手动迭代并提取匹配组(如@Some1.Kill.The.DJ 所示),要么您将拆分字符串而不是匹配:
str.split(/\s+(?:\S*?(?![a-z])\S+\s+)*/);
此表达式确实匹配所有空格与包含至少一个不是字符的单词的组合[a-z]
。但是,这个正则表达式复杂且不易维护;它有时也会产生空字符串。更好,做类似的事情
str.split(/\s+/).filter(RegExp.prototype.test.bind(/^[a-z]+$/));
使用此代码:
var str = 'one 1.ignore two 2ignore ignore3 three';
str = str.replace(/\s(?=[a-z])/ig, function(text, p1) {
return p1 ? p1 : text;
});
var arr = str.match(/([a-z]+)(?=\s|$)/ig);