我正在尝试在Javascript /[^]*?(:[rp][el]a[\w-]+)[^]*/中运行以下正则表达式
在ie8中,我得到Expected '/'
问题来自stylis is npm lib,这就是它失败的那一行
var pseudofmt = /[^]*?(:[rp][el]a[\w-]+)[^]*/ /* extrats :readonly or :placholder from selector */
该错误说明它需要a/ at [^],但我不确定为什么!?
发布于 2018-07-03 11:20:55
转义这些^;它们在否定一个不存在的字符:^ \^→
/\^*?(:[rp][el]a[\w-]+)\^*/(我正在删除括号,因为它们是不必要的)。
或者你根本不想检查字符^,你想要的是匹配字符串的开头和结尾?请详细说明。
解释:插入符号(^)在字符组之外时,表示字符串的开头。但是,在字符组中,它表示字符组为负:当[^]无效时,[^a]将匹配除'a‘之外的任何字符。
除此之外,您的正则表达式晦涩难懂,不是非常严格,而且可能不是您想要的:它与'^^^^^^:peasant-with-slashes^^^^^^^^'匹配。
https://stackoverflow.com/questions/51146110
复制相似问题