正则表达说明—Pattern API
字符类
[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
方法一:
String rex = "[a-z[d-m]]";
Pattern p = Pattern.compile(rex);
Matcher matcher = p.matcher("f");
boolean matches = matcher.matches();
方法二:
String rex = "[a-z[d-m]]";
boolean matche = Pattern.matches(rex, "d");
PS:
Pattern API(Java Platform SE 8)网址:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
正则表达说明—Pattern API的更多相关文章
- Java正则表达中Greedy Reluctant Possessive 的区别
Java正则表达中Greedy Reluctant Possessive 的区别 分类: java2015-01-16 00:28 1280人阅读 评论(9) 收藏 举报 正则表达式Java 目录 ...
- js正则表达test、exec和match的区别
test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...
- 正则表达示 for Python3
前情提要 从大量的文字内容中找到自己想要的东西,正则似乎是最好的方法.也是写爬虫不可缺少的技能.所以,别墨迹了赶紧好好学吧! 教程来自http://www.runoob.com/python3/pyt ...
- shell正则表达
shell正则表达 .*和.?的比较: 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001,匹配方法:先匹配至输入串A的最后, 然后向前匹配,直 ...
- 转转转---js正则表达exec与match的区别说明
正则表达式对象有两个定义方式:: 1.第一种定义: new RegExp(pattern, attributes);如var reg = new RegExp("abc",&quo ...
- python——re模块(正则表达)
python——re模块(正则表达) 两个比较不错的正则帖子: http://blog.csdn.net/riba2534/article/details/54288552 http://blog.c ...
- PHP 正则表达示
PHP 正则表达示 php如何使用正则表达式 正则表达式基本元字符 #正则表达式示例 ^:匹配输入字符串开始的位置.如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\ ...
- php 正则表达示中的原子
原子 原子是正则表达示里面的最小单位,原子说白了就是需要匹配的内容.一个成立的正则表达示当中必须最少要有一个原子.大理石平台精度等级 所有可见不可见的字符就是原子 说明:我们见到的空格.回车.换行.0 ...
- Javascript正则构造函数与正则表达字面量&&常用正则表达式
本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...
随机推荐
- Thread之二:sleep、wait、yield、join
一.回顾下概念 Java中的多线程是一种抢占式的机制而不是分时机制.线程主要有以下几种状态:新建,就绪,运行,阻塞,死亡.抢占式机制指的是有多个线程处于就绪状态,但是只有一个线程在运行. 1.sl ...
- hibernate 学习 五 hibernate核心接口
一 Configuration接口 Configuration对象只存在于系统的初始化阶段.配置相关. 配置文件可以使用默认的路径,也可以指定路径. Configuration config = ne ...
- jQuery基本语法2
jQuery事件 一:jQuery鼠标事件 click单击 dbclick双击 $ele.click()不带任何参数一般是用来指定触发一个事件 $ele.click( handler(eventObj ...
- windows设置远程连接
两台windows机器: 1台用于开放远程连接,供其他机器连接(通常指服务器) 1台用于连接到那台机器(通常指的客户机) 一.服务器配置 1.设置开放远程连接 2.开放端口(其中windows远程桌面 ...
- CF-831A
A. Unimodal Array time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- 1.SJ-SLAM-14
1.引言 SLAM:Simultaneous Localization and Mapping 同时定位与地图构建 搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估 ...
- Flutter实战视频-移动电商-30.列表页_商品列表UI界面布局
30.列表页_商品列表UI界面布局 小程序里面的布局方式 小程序的图片上这里使用的是warp布局,因为首页里面火爆专区,已经用过了warp来布局了. 所以这里我们没有必要再讲一遍,这里我们使用List ...
- Flutter实战视频-移动电商-46.详细页_自定义TabBar Widget
46.详细页_自定义TabBar Widget 主要实现详情和评论的tab provide定义变量 自己做一个tab然后用provide去控制 定义两个变量来判断是左侧选中了还是右侧选中了.并定义一个 ...
- liteos任务(二)
任务 1 基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元.任务可以使用或等待CPU.使用内存空间等系统资源,并独立于其它任务运行. Huawei LiteOS的任务模块可以给用户提供多个任 ...
- Angular6之ng build | ng build --aot | ng build --prod 差异
由于写了大半年的项目终于要告一段落并且即将进行第二阶段优化开发,emmm 基础版本已经二十多个模块了,必不可少的优化是很重要的,尽管项目上使用多层嵌套懒加载,但是在首屏加载的时候,任然很慢啊,因为一直 ...