正则表达式

2019-06-01  本文已影响0人  是什么样的心情

_ 在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。_

java正则入门

下面列举一些基础的概念

// 反斜杠
/t 间隔 ('/u0009')
/n 换行 ('/u000A')
/r 回车 ('/u000D')
/d 数字 等价于[0-9]
/D 非数字 等价于[^0-9]
/s 空白符号 [/t/n/x0B/f/r]
/S 非空白符号 [^/t/n/x0B/f/r]
/w 单独字符 [a-zA-Z_0-9]
/W 非单独字符 [^a-zA-Z_0-9]
/f 换页符
/e Escape
/b 一个单词的边界
/B 一个非单词的边界
/G 前一个匹配的结束


java中的正则表达式

在java中使用正则表达式时,在匹配.和\是要写成\\.和\\\\,其他的特殊符号匹配时也类似,要在符号前加两个反斜杠,这是为什么呢?
在java中,我们写的正则表达式首先要通过String的转义,比如正则“\\.”,它用来匹配符号.,而单独符号.在正则表示匹配所有字符,如果要匹配符号.则需要进行转义,用正则里的“.”表示,在java中如果直接使用“.”,java会报(Invalid escape sequence (valid ones are \b \t \n \f \r " ' \\)的错误,因为在java的转义字符中没有“.”,所以我们要用“\\”来转义“\”,这样“\.”就能匹配符号.了。\\\\的问题也类似。


参考自:

理解java正则表达式怪异的\\和\\\\

java正则入门

上一篇 下一篇

猜你喜欢

热点阅读