Java正则表达式

正则表达式匹配规则:

\d:0-9 

\w:a-z,A-Z,0-9,_ 

\s:空格,Tab键 

\D:非\d
\W:非\w
\S:非\s 

*:任意个字符 

+:至少一个字符 

?:0个或1个字符 

{n}:n个字符 

{m,n}:m-n个字符

{n,}:至少n个字符



qq号:“\\d{5,10}”

  • 复杂^和$匹配开头的结尾 
    • “^A\d{3}$”  ——"A001" "A999"
  • [...]可以匹配范围内的某一字符 
    • "[abc]1" ——“a1” “b1” “c1”  
    •  “[a-f]”  "a" "f"
    • "[a-f0-9]{6}" 个数为6   可以匹配颜色
    • "[a-f0-9_]{6}" 
  • [^...]可以匹配非范围内的字符
    • "[^0-9]"  "a"
  • AB|DC可以匹配AB或CD
    • “java|php” “java” “php”
  • AB|DC)进行匹配 
    • “learn\s(java|php)”   "learn java" "learn php"
 提取规则
使用Matcher.group(n)可以快速提取子串
    • matcher.group(0) 表示匹配的整个字符串
    • matcher.group(1)  表示匹配的第一个子串
    • matcher.group(2)  表示匹配的第二个子串
  • 正则表达式需要分组 使用(...)
    
正则表达式默认使用贪婪匹配  ,尽可能多的向后匹配
  • 使用?实现非贪婪匹配(尽可能少的匹配)
    • “^(\\d+?)(0*)$” 可以正确判断结尾有几个0  如123000  matcher.group(1)=“123”   matcher.group(2) =“000”
    • “^(\\d??)(9*)$”  第一个?表示匹配0或1个字符 第二表示非贪婪匹配(尽可能少的匹配)  如9999  matcher.group(1)=“”   matcher.group(2) =“9999”

  • 使用正则表达式分割字符串
    • String[] String.split(String regex)
  • 搜索子串:
    • Matcher.find()
  • 可以使用正则表达式将表达式中的多个空格去除
    • s.replaceAll("\\s+","");    

















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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值