- 浏览: 418608 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xiaomuxingren:
你好,请问update-alternatives --inst ...
JDK8安装及jenkins安装 -
wahahachuang8:
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方 ...
HTML5 WebSocket -
晨曦的朝阳:
刚好有需求,学习一下!
MySql主从配置 -
mfkvfn:
这是恶意的商业竞争呀
解决 android 微信5.0及后续版本无法打开电话号码的问题 -
fwyhf:
require('./monitor/module_liste ...
NodeJS Server 进程自动重启
Pattern (Java 2 Platform SE 6)
正则表达式的编译表示形式。 指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建
因此,典型的调用顺序是 在仅使用一次正则表达式时,可以方便地通过此类定义
此类的实例是不可变的,可供多个并发线程安全使用。
java.util.regex
类 Patternjava.lang.Object
java.util.regex.Pattern
public final class Pattern
Matcher
对象,依照正则表达式,该对象可以与任意字符序列
匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。
Pattern p = Pattern.
compile
("a*b");
Matcher m = p.matcher
("aaaaab");
boolean b = m.matches
();matches
方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句
等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。
boolean b = Pattern.matches("a*b", "aaaaab");
Matcher
类的实例用于此目的则不安全。
正则表达式的构造摘要
的
非捕获组
构造
匹配
字符
x
字符
x
\\
反斜线字符
\0
n
带有八进制值
0
的字符
n
(0 <=
n
<=
7)
\0
nn
带有八进制值
0
的字符
nn
(0 <=
n
<=
7)
\0
mnn
带有八进制值
0
的字符
mnn
(0 <=
m
<=
3、0 <=
n
<=
7)
\x
hh
带有十六进制值 0x
的字符
hh
\u
hhhh
带有十六进制值 0x
的字符
hhhh
\t
制表符 ('\u0009'
)
\n
新行(换行)符 ('\u000A'
)
\r
回车符 ('\u000D'
)
\f
换页符 ('\u000C'
)
\a
报警 (bell) 符 ('\u0007'
)
\e
转义符 ('\u001B'
)
\c
x
对应于
x
的控制符
字符类
[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
非数字:
[^0-9]
\s
空白字符:[ \t\n\x0B\f\r]
\S
非空白字符:[^\s]
\w
单词字符:[a-zA-Z_0-9]
\W
非单词字符:[^\w]
POSIX 字符类(仅 US-ASCII)
\p{Lower}
小写字母字符:[a-z]
\p{Upper}
大写字母字符:[A-Z]
\p{ASCII}
所有 ASCII:[\x00-\x7F]
\p{Alpha}
字母字符:[\p{Lower}\p{Upper}]
\p{Digit}
十进制数字:[0-9]
\p{Alnum}
字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct}
标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph}
可见字符:[\p{Alnum}\p{Punct}]
\p{Print}
可打印字符:[\p{Graph}\x20]
\p{Blank}
空格或制表符:[ \t]
\p{Cntrl}
控制字符:[\x00-\x1F\x7F]
\p{XDigit}
十六进制数字:[0-9a-fA-F]
\p{Space}
空白字符:[ \t\n\x0B\f\r]
java.lang.Character 类(简单的
java 字符类型
)
\p{javaLowerCase}
等效于 java.lang.Character.isLowerCase()
\p{javaUpperCase}
等效于 java.lang.Character.isUpperCase()
\p{javaWhitespace}
等效于 java.lang.Character.isWhitespace()
\p{javaMirrored}
等效于 java.lang.Character.isMirrored()
Unicode 块和类别的类
\p{InGreek}
Greek 块(简单块
)中的字符
\p{Lu}
大写字母(简单类别
)
\p{Sc}
货币符号
\P{InGreek}
所有字符,Greek 块中的除外(否定)
[\p{L}&&[^\p{Lu}]]
所有字母,大写字母除外(减去)
边界匹配器
^
行的开头
$
行的结尾
\b
单词边界
\B
非单词边界
\A
输入的开头
\G
上一个匹配的结尾
\Z
输入的结尾,仅用于最后的结束符
(如果有的话)
\z
输入的结尾
Greedy 数量词
X
?
X
,一次或一次也没有
X
*
X
,零次或多次
X
+
X
,一次或多次
X
{
n
}
X
,恰好
n
次
X
{
n
,}
X
,至少
n
次
X
{
n
,
m
}
X
,至少
n
次,但是不超过
m
次
Reluctant 数量词
X
??
X
,一次或一次也没有
X
*?
X
,零次或多次
X
+?
X
,一次或多次
X
{
n
}?
X
,恰好
n
次
X
{
n
,}?
X
,至少
n
次
X
{
n
,
m
}?
X
,至少
n
次,但是不超过
m
次
Possessive 数量词
X
?+
X
,一次或一次也没有
X
*+
X
,零次或多次
X
++
X
,一次或多次
X
{
n
}+
X
,恰好
n
次
X
{
n
,}+
X
,至少
n
次
X
{
n
,
m
}+
X
,至少
n
次,但是不超过
m
次
Logical 运算符
XY
X
后跟
Y
X
|
Y
X
或
Y
(
X
)
X,作为捕获组
Back 引用
\
n
任何匹配的
n
th
捕获组
<
发表评论
JDK8安装及jenkins安装
2017-11-28 11:48
3135
JDK7安装
2017-02-13 16:43
739
记录扫描嗅探与反扫描嗅探的那些事
2016-09-10 10:45
923
Spring的事务机制
2016-07-13 15:33
439
链接加密防篡改方法
2016-06-22 14:51
1509
学好Java基础的几本书
2011-11-13 20:53
2655
Java 日志管理
2011-06-28 14:59
1634
如何写好Java代码(转载)
2011-03-23 11:50
1473
jprofiler使用心得,你不知道的那些事
2010-10-12 08:25
989
Java动态代理
2010-08-23 15:01
1299
JAVA反射机制
2009-05-13 16:59
898
java套接字处理
2009-05-13 16:58
1261
类初始化顺序(非常明了)
2009-05-13 16:55
1071
jvm指令解析
2009-05-13 16:54
3568
正则表达式的四种基本用法
2009-05-13 16:51
1135
时间格式
2009-05-13 16:51
2182
synchronized
2009-05-13 16:49
1047
invokevirtual,invokespecial,invokestatic,invokein
2009-05-13 16:48
4761
jvm的javap 指令及格式
2009-05-13 16:47
2080
Java 学习笔记
2009-05-13 16:46
3180
相关推荐
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
该教程中所介绍的正则表达式应用仅仅是最为简单的(并没有完全地涉及到 Pattern 类支持的所有正则表达式语法,也没有涉及到高级的应用),适合于从未接触过或者是尚未完全明白正则表达式基础的学习者。在学习完该...
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...
pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大小写进行检索;’c’区分大小写进行...
Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先编译为Pattern对象,然后再利用该Pattern对象创建对应的Matcher对象,执行匹配所涉及的状态保留在Matcher对象中,多个Matcher对象可...
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...
JAVA正则表达式--Pattern和Matcher 现在JDK1.4里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的迟来恩物- -对我来说确实如此。...
正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。 正则表达式构造函数: new ...
例如,要匹配字符串"123"中的整数,可以使用如下代码: import re pattern = r'\d+' string = '123' result = re.match(pattern, string) python-数字正则表达式全文共3页,当前为第1页。 print(result.group()) ...
A Scalable Architecture For High-Throughput Regular-Expression Pattern Matching
在java中如何正确使用正则表达式.包括使用和匹配方式等
Pattern类用于编译正则表达式,而Matcher类则用于在文本中进行匹配。 String regex = "pattern"; String input = "string"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input);...
自制的正则表达式测试工具,源码如下: /** * @Project: regutil * @Title: MainFrame.java * @Package com.zhang * @Description: 正则表达式工具 * @author zhanghongbin mypczhanghongbin@gmail.com * @date ...
1、正则表达式是描述字符模式的对象,正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 2、String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。 3、...
语法: –1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]]) 注: srcstr 源字符串 pattern 正则表达式样式 position 开始匹配...
在C++/CLI使用正则表达式分析字符串 "one\ttwo three:four,five six seven"; 结果 pattern : '[a-zA-Z]*' text : 'one two three:four,five six seven' one two three four five six seven Number of Words : 7
JAVA正则表达式 Pattern和Matcher,详细说明正则表达式的应用