matches和split方法,正则表达式

boolean	matches(String regex) 
          告知此字符串是否匹配给定的正则表达式。

public String[ ] split(String regex, int limit)	
		split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。

正则表达式 – 语法 | 菜鸟教程 (runoob.com)

(1) regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
(2) limit也是可选项。该值用来限制返回数组中的元素个数。
(3) 要注意转义字符:“.”和“|”都是转义字符,必须得加”\”。同理:和+也是如此的
(4) 如果在一个字符串中有多个分隔符,可以用“|”作为连字符。 正则需要转义字符:’$’, ‘(’, ‘)’, '
’, ‘+’, ‘.’, ‘[’, ‘]’, ‘?’, ‘\’, ‘^’, ‘{’, ‘}’, ‘|’ 解决方法

: 对特殊字符加\转义即可。

字符
x          字符 x
\          反斜线字符
\0n       带有八进制值 0 的字符 n (0 <= n <= 7)
\0nn      带有八进制值 0 的字符 nn (0 <= n <= 7)
\0mnn      带有八进制值 0 的字符 mnn(0 <= m <= 30 <= n <= 7)
\xhh       带有十六进制值 0x 的字符 hh
\uhhhh    带有十六进制值 0x 的字符 hhhh
\t       制表符 ('\u0009')
\n       新行(换行)符 ('\u000A')
\r       回车符 ('\u000D')
\f       换页符 ('\u000C')
\a       报警 (bell)('\u0007')
\e       转义符 ('\u001B')
\cx      对应于 x 的控制符
字符类
[abc]      	 a、b 或 c(简单类)
[^abc]	任何字符,除了 a、b 或 c(否定)
[a-zA-Z]	a 到 z 或 AZ,两头的字母包括在内(范围)
[a-d[m-p]]	a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]]	d、e 或 f(交集)
[a-z&&[^bc]]	a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]]	a 到 z,而非 m 到 p:[a-lq-z](减去)
预定义字符类
.                   任何字符(与行结束符可能匹配也可能不匹配)
\d                  数字:[0-9]
\D                 非数字: [^0-9]
\s                  (空格)空白字符:[ \t\n\x0B\f\r]
\S                  非空白字符:[^\s]
\w                 单词字符:[a-zA-Z_0-9]
\W                 非单词字符:[^\w]
POSIX              字符类(仅 US-ASCII)
\p{Lower}           小写字母字符:[a-z]
\p{Upper}           大写字母字符:[A-Z]
\p{ASCII}            所有 ASCII:[\x00-\x7F]
\p{Alpha}           字母字符:[\p{Lower}\p{Upper}]
\p{Digit}            十进制数字:[0-9]
\p{Alnum}          字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct}           标点符号:!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
\p{Graph}           可见字符:[\p{Alnum}\p{Punct}]
\p{Print}             可打印字符:[\p{Graph}\x20]
\p{Blank}            空格或制表符:[ \t]
\p{Cntrl}            控制字符:[\x00-\x1F\x7F]
\p{XDigit}           十六进制数字:[0-9a-fA-F]
\p{Space}            空白字符:[ \t\n\x0B\f\r]
边界匹配器
^            行的开头
$            行的结尾
\b           单词边界
\B           非单词边界
\A           输入的开头
\G           上一个匹配的结尾
\Z            输入的结尾,仅用于最后的结束符(如果有的话)
\z            输入的结尾
Logical运算符
XY   	X 后跟 Y
X|Y     XY
(X)	X,作为捕获组
	

Greedy 数量词(贪婪的)
它的匹配方式是先把整个字符串吞下,然后匹配整个字符串,如果不匹配,就从右端吐出一个字符,再进行匹配,直到找到匹配或把整个字符串吐完为止。

Reluctant 数量词(勉强的,不情愿的)
它先从最小匹配开始,先从左端吞入一个字符,然后进行匹配,若不匹配就再吞入一个字符,直到找到匹配或将整个字符串吞入为止。

Possessive 数量词(所有的,所有格的)
直接匹配整个字符串,如果完全匹配就匹配成功,否则匹配失败。效果相当于equals()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值