Javascript 除非字符串中有括号,否则前瞻不匹配
我使用此负前瞻搜索单行字符串:Javascript 除非字符串中有括号,否则前瞻不匹配,javascript,regex,Javascript,Regex,我使用此负前瞻搜索单行字符串: /\s+(?![^[]*]).+/g 这与以下两项匹配: // String 1 a.casd-234[test='asfd asdf'] abc defg // String 2 asf.one.two.three four five six 这将返回abc defg和four-five-six 我试图编写一个express来获取文本前面的值(a.casd-234[test='asfd asdf'],asf.one.two.three): /.+(?您正在
/\s+(?![^[]*]).+/g
这与以下两项匹配:
// String 1
a.casd-234[test='asfd asdf'] abc defg
// String 2
asf.one.two.three four five six
这将返回abc defg
和four-five-six
我试图编写一个express来获取文本前面的值(a.casd-234[test='asfd asdf']
,asf.one.two.three
):
/.+(?您正在使用正则表达式从某一点到字符串的末尾匹配字符串(正则表达式末尾的+
匹配1+字符,而不是换行符,直到行/字符串的结尾)
因此,最简单的解决方案是使用相同的模式和.replace
方法:
var rx=/\s+(?![^[]*])。+/;
console.log(“a.casd-234[test='asfd asdf']abc defg.”替换(rx,);
console.log(“asf.one.two.three-445-six”。replace(rx,);
我正在解析选择器。然后我将其转换为HTMLElement
。格式为selector-textContent
,其中第一个空格不在[
和]
将两者分开。如果]
后有一个逗号被视为无效格式,则只需使用并替换为空字符串。文本内容
也是可选的…@WiktorStribiżew Wow…例如简单的解决方案!
/.+(?<=[^[]*])\s/g