上好的正则表达式

123 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情。 ​

说明:字符串匹配按要求,按照某种模式去匹配字符串的一个公式。所有语言都支持。

【语法】

- 限定符

- 选择匹配符

- 分组组合和反向引用符

- 特殊字符

- 字符匹配符号

- [ ] 可接收的字符列表 例如[abcd] 表示abcd中任意一个字符

- [ ^ ] 不可接收的字符列表 例如[……abcd] 表示除abcd中任意一个字符

- - 连字符 例如A-Z 表示任意大写字母

- 定位符

- 元字符-转义号\

###### 使用正则表达式去检索某些特殊字符时,需要用到转义字符,否则检索不到结果 java语言用\ 其他语言用
###### 需要转义的字符 . * + ( ) $ / \ ? [ ] ^ { }

【常用案例】

  1. "[a-z]";//匹配 a-z之间任意一个字符
  2. "[A-Z]";//匹配 A-Z之间任意一个字符
  3. "abc";//匹配 abc 字符串[默认区分大小写]
  4. "(?i)abc";//匹配 abc 字符串[不区分大小写]
  5. "[0-9]";//匹配 0-9 之间任意一个字符
  6. "[^a-z]";//匹配 不在 a-z之间任意一个字符
  7. "[^0-9]";//匹配 不在 0-9之间任意一个字符
  8. "[abcd]";//匹配 在 abcd中任意一个字符
  9. "\D";//匹配 不在 0-9的任意一个字符
  10. "\w";//匹配 大小写英文字母, 数字,下划线
  11. "\W";//匹配 等价于 [^a-zA-Z0-9_]
  12. //\s 匹配任何空白字符(空格,制表符等)
  13. //\S 匹配任何非空白字符 ,和\s刚好相反
  14. //. 匹配出 \n 之外的所有字符,如果要匹配.本身则需要使用 \. 15."123-abc";以至少1个数字开头,后接任意个小写字母的字符串 16."^[0-9]+[a-z]*";以至少1个数字开头, 必须以至少一个小写字母结束 17."^[0-9]+\-[a-z]+$";//[这里的边界是指:被匹配的字符串最后,也可以是空格的子字符串的后面]