Java正则表达式

释放双眼,带上耳机,听听看~!
\d 表示一个0-9的数字 Java中要用双反斜杠

abc 精确匹配abc,严格区别大小写。特殊字符要转义   "abc"

特殊符号.可以匹配任意一个字符 "a.b"

\w 匹配一个字母、数字、下划线 
    "java\\w" 匹配 javaa java2 java!

\W 匹配一个非字母、数字、下划线 
    "java\\W" 匹配"java!" "java " 

\s 匹配一个空白字符  tab也算一个空白字符

\S 匹配非空白字符 
    "A\\SB"可以匹配  "A@B" "AAB"

\D 匹配一个非数字

* 匹配任意个字符
    "A\d*" 可以匹配A加上任意个数字 A A001 A1234 

+ 匹配至少一个字符
    "A\d+" 可以匹配A加上至少一个数字 A0 A11 A2343

? 匹配0个或一个字符
    "A\d" 可以匹配A加上0个或一个数字 A A2 

{n} 匹配n个字符
    "\d{6}"匹配六个数字 "123456" "666666" 

{n,m}匹配n-m个字符
    "\d{3,5}"匹配三到五个数字 "123" "12345"

{n,}匹配至少n个字符
    "\d{3,}"匹配至少三个数字

^和$匹配开头和结尾 
    "^A\d{3}$"表示以A开头+三个数字 A001 A666 A123 

[...]匹配[]中的某一个字符
    [abc]1 匹配 a1 b1 c1 
    [a-f]1 匹配 a-f其中一个字母加上数字1
    [a-f0-9]{6} 匹配6个字符,字符是由a-f和0-9随意组成
    [a-f0-9JYT_] 匹配6个字符,字符由a-f 和0-9和JYT和_中随意组成

[^...]匹配非范围内的字符
    [^0-9]{6} 匹配六个字符,但不能有0-9范围内的数字
A|B 匹配A或者B,真正使用的时候加括号
    (JAVA|PHP) 匹配JAVA或者PHP
    learn\s(java|php) 匹配learn java 或者是 learn php

用到的类Pattern和Matcher
(...)用于分组 
    "(\d{4})\-(\d{1,2})\-(\d{1,2})"
    "2016-12-12" 分组成为"2016" "12" "12"

为了提高匹配效率应该先创建匹配对象
Pattern pattern =  Pattern.compile("^\\d{3,4}\\-\\d{6,6}$")
pattern.matcher("010-12345678").matches();
pattern.matcher("020-1234567").matches();

?的第二种含义表示非贪婪匹配
就是尽可能少的匹配

人已赞赏
知识分享

Web应用

2020-9-17 22:18:00

知识分享

WordPress提示429 Too Many Requests 完美解决方案

2020-9-17 22:22:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索