java和js正则的区别

java正则表达式:(?i)abc 表示abc都忽略大小写,那js里(?![a-zA-Z]+$),?!是什么意思?
还有java里\\d与js里\d的差别。

第1个回答  推荐于2016-01-01
?!表示当前内容右边不包含这些字符
例如
表达式: a(?![a-zA-Z]+)
匹配字符串: abc a acd a1
匹配后的结果就是 a 和 a1 , 因为 匹配要求是 包含a,但a的右边不能包含任何[a-zA-Z]的字符.

Java里由于字符串中的\需要先转义,所有只要是写\都是两个\
因此\\d 就是 javascript里的\d本回答被提问者采纳
第2个回答  2010-06-08
(?!) 零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败

java \\d= js \d
java中\需要转义,即\\其实是\
相似回答