博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达说明—Pattern API
阅读量:6085 次
发布时间:2019-06-20

本文共 1904 字,大约阅读时间需要 6 分钟。

字符类

  [abc]                              匹配a、b、c任意一个字符

  [^abc]          匹配除了a、b、c外的任意一个字符

  [a-zA-Z]          匹配a-z或A-Z中的任意一个字符

  [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        匹配任意非数字的字符

  \h                      匹配水平空白字符(比如\t)

  \H        匹配非水平空白字符[^\h]

  \s           匹配任意空白符

  \S           匹配任意不是空白符的字符

  \v           匹配垂直空白字符(比如\n)

  \V          匹配非垂直空白字符[^\v]

  \w          匹配字母或数字或下划线,等价于[a-zA-Z_0-9]

  \W         匹配任意不是字母、数字、下划线、汉字的字符,等价于[^a-zA-Z_0-9]

边界匹配器

  ^        匹配字符串的开始

  $        匹配字符串的结束

  \b       匹配单词的开始或结束

  \B         匹配不是以单词开头或结束的位置

  \G      前一个匹配的结束

  []       显示限制条件中的任意一个字符

显示次数

  *         重复零次或更多次

  ?        重复零次或一次

  +        重复一次或更多次  

  {n}        重复N次

  {n,}         重复N到多次

  {n,m}      重复N到M次

示例

  ◆ ^为限制开头

    ^java    条件限制为以Java为开头字符

  ◆ $为限制结尾

    java$    条件限制为以java为结尾字符

  ◆ . 条件限制除/n以外任意一个单独字符

    java..    条件限制为java后除换行外任意两个字符

  ◆ 在限制条件为特定字符出现0次以上时,可以使用「*」

    J*       0个以上J

    .*      0个以上任意字符

    J.*D    J与D之间0个以上任意字符

  ◆ 在限制条件为特定字符出现1次以上时,可以使用「+」

    J+     1个以上J

    .+      1个以上任意字符

    J.+D    J与D之间1个以上任意字符

  ◆ 在限制条件为特定字符出现有0或1次以上时,可以使用「?」

    JA?    J或者JA出现

  ◆ 限制为连续出现指定次数字符「{a}」

    J{2}    JJ

    J{3}    JJJ

  ◆ 文字a个以上,并且「{a,}」

    J{3,}     JJJ,JJJJ,JJJJJ,???(3次以上J并存)

  ◆ 文字个以上,b个以下「{a,b}」

    J{3,5}   JJJ或JJJJ或JJJJJ

  ◆ 两者取一「|」

    J|A       J或A

    Java|Hello   Java或Hello

  ◆ 「()」中规定一个组合类型

    查询<a href=/"index.html/">index</a>中<a href></a>间的数据,可写作<a.*href=/".*/">(.+?)</a>

 

Demo

方法一:

1     String rex = "[a-z[d-m]]"; 2     Pattern p = Pattern.compile(rex);  3     Matcher matcher = p.matcher("f");  4     boolean matches = matcher.matches();

 

方法二:

1     String rex = "[a-z[d-m]]";     2     boolean matche = Pattern.matches(rex, "d");

 

PS:

Pattern API(Java Platform SE 8)网址:

 

 

转载于:https://www.cnblogs.com/JealousGirl/p/pattern.html

你可能感兴趣的文章
javascript日期类型(Date)与php日期类型详解
查看>>
记一次vue开发环境搭建
查看>>
使用Jenkins进行持续部署(PHP代码)
查看>>
如何学习服务端开发—以代码工人的视角
查看>>
【219天】黑马程序员27天视频学习笔记【Day22复习脑图】
查看>>
基于 Electron 的爬虫框架 Nightmare
查看>>
弄清Classs,Symbols,Objects拓展 和 Decorators
查看>>
好文章必读 - 收藏集 - 掘金
查看>>
throttle debounce 总结
查看>>
利用win10 bash + cmder 搭建最顺手的前端开发环境
查看>>
Reflection:Java反射机制的应用场景
查看>>
PHP扩展 zqf 兼容7.0
查看>>
LockSupport源码阅读
查看>>
(Git 学习)Git SSH Key 创建步骤
查看>>
JavaScript,大有前景的编程语言
查看>>
fate - 收藏集 - 掘金
查看>>
前端开源项目周报0314
查看>>
webpack shimmimg
查看>>
Socket.io+Notification实现浏览器消息推送
查看>>
OPPO大数据平台运营研发实践分享
查看>>