java正则表达式结尾_java 正则表达式

一、正则表达式的转义字符\(特殊的两个反斜杠,你闹心不!)

java中正则表达式要有两个\\,才能达到转义。我写的这个命令是查找以http|ftp|https|file://开头,或是../..开头,或是../开头的所有字符,

正确是这样的((^(http|ftp|https|file)(://))|^(\\.\\./\\.\\./)|^(\\.\\./)).*

^(XXX)是表示以XXX开头的字符串。

正则表达式中表示数字是“\d”,实际在内存中就是两个字符\和d, 但在java中\就得写成\\,因此在写程序时就是\\d。

正则表达式一个\表示转义字符,与后面的字符共同组成一个字符集表示项,如\d表示数字。而要输出一个\,就需要两个,将\自身转义为普通字符。

而输出成“\\”,实际在内存中就是两个字符“\和\”,java中就要分别表示这两个\,每个都必须写成"\\",因此要写成"\\\\"。实际上先要将"\\\\"转换成一个字符串"\\"再交给正则表达式,正则表达式转义一次就刚好匹配一个"\"。

(java中的存在的转义序列值为“\b、\t、\n、\f、\r、\"、\'、\\”)

(正则表达式中的元字符:“(、[、{、\、^、-、$、|、}、]、)、?、+、*、+、.”)

(变态的不包含[^XXX])

[^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符

[^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集)

我做了一个测试:[0-9a-z]和[0-9[a-z]]是一个样的ÿ

你可能感兴趣的:(java正则表达式结尾)