我正在尝试将文本拆分为以下内容,例如在空格上:
var line = "Text (what is)|what's a story|fable called|named|about {Search}|{Title}"
但我希望它忽略括号内的空格。这应该产生一个数组:
var words = ["Text", "(what is)|what's", "a", "story|fable" "called|named|about", "{Search}|{Title}"];
我知道这应该涉及某种带有 line.match() 的正则表达式。如果正则表达式删除括号,则会获得奖励积分。我知道 word.replace() 会在后续步骤中删除它们。
使用以下具有特定正则表达式模式的方法(基于否定前瞻断言):
var line = "Text (what is)|what's a story|fable called|named|about {Search}|{Title}",
words = line.split(/(?!\(.*)\s(?![^(]*?\))/g);
console.log(words);
-
(?!\(.*)
确保分隔符\s
前面没有大括号(
(包括随行角色)
-
(?![^(]*?\))
确保分隔符\s
后面没有大括号)
(包括随行角色)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)