一个正则表达式断言在javascript中的问题
(?<![\-\(\)])aaa
为什么这个在c#中能用,在js中报错?
报错信息是
Error: Syntax error in regular expression
全部的代码:
<script >
function test2(){
var text2Value=document.getElementById("text1").value;
var test2 = /(?<![\-\(\)])aaa/
if(test2.test(text2Value)){
alert("true");
}else{
alert("false");
}
}
</script>
<input type="text" id="text1" name ="text1" value=""/>
</br>
<input type="button" id="button1" name ="button1" value="button1" onclick="test2()" />
请问我在javascript中应该如何写才能顺利使用?谢谢各位
------解决方案--------------------JS不支持以下两项
? <!
?<=
------解决方案--------------------/^[^-]aaa/
------解决方案-------------------- var reg = new RegExp("([^\-\(\)])*aaa", "i");
if(test2.test(reg))
{
alert(RegExp.$1)
}
------解决方案--------------------23-32-32-32
[^\-]已经占了一个了,后面接下来的[\d]只有一个,没2个了
^[^\-][\d]{2}\-[\d]{2}\-[\d]{2}\-[\d]{2}$
[^\-]第一个不是-,是2,ok
然后3-匹配[\d]{2}时出错