我正在尝试编写一个正则表达式来将一个句子分成单词。我的第一个想法是分割空格或标点符号,然后我意识到我不想用“0.5”这样的小数分割数字,也不想分割像“14:55:02”这样的时间戳。所以,我试图用负前瞻和负后瞻来解决我的问题,但我无法将它们放在一起......而且javascript似乎不支持后视。
到目前为止我最好的尝试:
var query = "I've been 0.5 hit at 21:05. I'm okay.";
var delimiter = /[\s\.,:;?!+=\/\\]+(?![0-9])/g;
if(delimiter.test(query)){
var words = query.split(delimiter);
console.log(words);
// ["I've", "been 0.5", "hit", "at 21:05", "I'm", "okay", ""]
}
所以基本上,我需要一个正则表达式来拆分我的查询,但如果被数字包裹,[\s\.,:;?!+=\/\\]+
则不要拆分。[\.,:/]
请帮忙!