我需要将文字拆分为单词,但我还需要忽略&字符。这意味着例如“h& m”这个词保持在一起。正则表达式也必须使用JavaScript和node.js。
我使用了/(?!&)\s(?!&)/g
。但是,用&只在最后的角色。
答案 0 :(得分:2)
您可以使用前瞻并向后看......(只需将<
添加到当前的正则表达式中)
/(?<!&)\s(?!&)/g
^
请参阅DEMO
说明:
&
.. (?<!&)
且下一个字符的所有空格也不是&
.. (?!&)
答案 1 :(得分:1)
如果你不能拆分(你不能拆分,因为JS中没有后视),你需要匹配:
\S+(?:\s&\s\S+)*
请参阅demo
代码:
var re = /(\S+(?:\s&\s\S+)*)/g;
var str = 'H & M shopping mall';
var m = str.match(re);
document.getElementById("res").innerHTML = m;
<div id="res"/>