var temp =/foo[^]bar/.test('foo\nbar');
console.log(temp); // true
我知道"[^abc]",表示匹配a、b、c以外的任意1个字符。但这个“[^]”,代表匹配什么呢?
var temp =/foo[^]bar/.test('foo\nbar');
console.log(temp); // true
我知道"[^abc]",表示匹配a、b、c以外的任意1个字符。但这个“[^]”,代表匹配什么呢?
多看文档哦, https://developer.mozilla.org...
[^xyz]
一个反向字符集。也就是说, 它匹配任何没有包含在方括号中的字符。你可以使用破折号(-)来指定一个字符范围。任何普通字符在这里都是起作用的。
例如,[^abc]
和[^a-c]
是一样的。他们匹配"brisket"中得‘r’,也匹配“chop”中的‘h’。
没遇到过,不过猜测
[^]
中的^
肯定是除...以外的含义,那么既然^后面没有跟任何字符,所以就是一切字符,也就是说[^]
匹配任何一个字符,包括不可见的换行符、制表符、空格,但是就一个字符的位置,如果是2个字符就不匹配了,所以上面的应该是想匹配foo和bar之间有且仅有隔了一个字符的字符串我用上面那个在在线的正则匹配测试中试了下,好像是这样的:
在线正则测试