java.util.regex.PatternSyntaxException: Illegal character range near index 24
[a-zA-Z0-9]+[a-zA-Z0-9_-.]*@([a-zA-Z0-9_-]+.)+[a-zA-Z_-]+
^
正则表达式报错,说明有未转义的字符。
括号内中的字符类,在“-”左右两边有字符时表示一个字符到另一个字符之间的字符。
而且必须是左边字符的值小于右边字符的值。
而且必须是左边字符的值小于右边字符的值。
. 若表示点号本身需要转义(反斜杠\)正左反右
在普通的正则表达式中,15个具有特殊意义的元字符需要进行转义:
( [ { } ] ) \ ^ - $ | ? * + .
而在字符类中有点特殊,需要转义的有:
[ ] ^ - \
( [ { } ] ) \ ^ - $ | ? * + .
而在字符类中有点特殊,需要转义的有:
[ ] ^ - \
其中“-”放在字符类的两边的话,即放在左方括号右者右方括号的边上,也可以不用转义。
或者写成下面这样,即把“-”放到两边去,就不要转义了。
1
|
(
0
|([
1
-
9
][
0
-
9
]*)[+\\-*/])+(
0
|[
1
-
9
][
0
-
9
]*)
|
或者写成下面这样,即把“-”放到两边去,就不要转义了。
1
|
(
0
|([
1
-
9
][
0
|