JAVA中正则表达式的应用

一、应用场景

在Java中,当我们想要验证用户输入是否符合规范时,可以选择正则表达式

我们可以用正则表达式来实现匹配,替换或拆分字符串

二、正则表达式的常见用法

1、指定字符

正则表达式待验证字符串T or F
JavaJavaTrue
JavaJaveFalse

2、. 任意单个字符(换行除外)

正则表达式待验证字符串T or F
Jav.JavaTrue
Jav..JavaFalse

3、 | 为或 -> 例如(ab|cd) 表示ab或cd

正则表达式待验证字符串T or F
Ja(va|ve)JavaTrue
Ja(vb|ve)JavaFalse

4、[ ] 表示匹配中括号内任意一个字符

正则表达式待验证字符串T or F
Jav[abcde]JavaTrue
Jav[bcdef]JavaFalse

5、 [ ^abc] 表示匹配除了^以后的字符

正则表达式待验证字符串T or F
Jav[ ^def]JavaTrue
Jav[ ^abc]JavaFalse

6、 [a-z] 表示匹配字符‘a’ 到字符‘z’ 之间的字符(包括头尾)

正则表达式待验证字符串T or F
Jav[a-z]JavaTrue
Jav[b-z]JavaFalse

7、 [ ^a-z] 表示匹配字符‘a’ 到字符‘z’ 以外的字符(包括头尾)

正则表达式待验证字符串T or F
Jav[ ^b-z]JavaTrue
Jav[ ^a-z]JavaFalse

8、[a-d[x-z]] 表示匹配'a'到'd'或者'x'到'z'的字符

正则表达式待验证字符串T or F
Ja[a-v[x-z]]aJavaTrue
Ja[a-u[x-z]]aJavaFalse
Ja[a-c[v-z]]aJavaTrue

9、 [a-y&&[x-z]] 表示字符‘a’到字符'y'和字符'x'到字符'z'之间的交集

正则表达式待验证字符串T or F
Ja[a-v&&[u-z]]aJavaTrue
Ja[a-v&&[u-z]]aJauaTrue
Ja[a-y&&[x-z]]aJavaFalse

10、\d 匹配一位数字,\D 匹配一位非数字

正则表达式待验证字符串T or F
hello\d\dhello12True
hello\d\dhello1aFalse
hello\d\Dhello1aTrue
hello\dhello12False

11、 \w 匹配一位数字、字母、下划线, \W 匹配非\w

正则表达式待验证字符串T or F
hello\w\whello12True
hello\w\whello1aTrue
hello\w\whello_aTrue
hello\w\w\whello_1aTrue

12、 \s 匹配空白字符(' ','\n','\t','\r','\f'), \S匹配非空字符

正则表达式待验证字符串T or F
hello\s00hello 00True

13、p* 匹配0次或多次出现模式p, p+ 匹配1次或多次出现模式p,p? 匹配0次或一次出现p模式

正则表达式待验证字符串T or F
aaab*aaaTrue
aaab*aaabbbbTrue
aaab+aaaFalse
aaab+aaabbbbTrue
aaab?aaaTrue
aaab?aaabTrue
aaab?aaabbFalse

14、p{n} 匹配正好出现n次p, p{n,} 匹配至少出现n次p,p{,m} 至多出现m次p; p{n,m} n到m次(至少n、至多m)出现p

正则表达式待验证字符串T or F
aaab{2}aaabFalse
aaab{2}aaabbTrue
aaab{2}aaabbbFalse
aaab{2,}aaabbTrue
aaab{2,}aaabbbTrue
aaab{,2}aaabbTrue
aaab{,2}aaabbbFalse
aaab{2,3}aaabbTrue
aaab{2,3}aaabbbTrue
aaab{2,3}aaabbbbFalse

15、\p{P} 匹配标点字符(特殊字符)

正则表达式待验证字符串T or F
hello world\p{P}hello world!True
hello world\p{P}hello world1False

三、正则表达式注意事项

1、遇到\d,\D,\s 等 要注意使用转义字符”\\“来转义"\".

2、使用格式应为 待验证字符串.matches("正则表达式").

3、任何字符串都能与”.*“ 匹配成功.

四、替换拆分字符串

介绍几个方法

str.replaceAll(a, b);    // 把str中的所有a子串换成b
str.replaceFirst(a, b);    // 把str中的第一个a子串换成b
str.split(a);               // 以a字符串作为分割分割str字符串,并返回被分割的字符串组
​
//以上的a字符串都可以用正则表达式表示
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值