/[^#].*/
/[^#]*/
这两个正则表达式的含义分别是“不以#开头”和“不包含#”
var Exp = /[^#].*/;
var result = Exp.excu("#id");
console.log(result[0]);
结果是预期的 id
换成第二个表达式后,结果是空字符串。
为什么??不也应该是id吗
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
*是代表0或者无穷个,估计你这里是非贪婪模式,所以匹配了0个
我刚试了下。。js既然是支持
*?的,那这就很奇怪了。。莫非这个regex库有bug正好我遇过类似的问题,应该使用+:
匹配前面的子表达式任意次,包括0次。
匹配前面的子表达式一次或多次(大于等于1次)。
. 匹配除“rn”之外的任何单个字符。