- 浏览: 427393 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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
3296
JDK7安装
2017-02-13 16:43
799
记录扫描嗅探与反扫描嗅探的那些事
2016-09-10 10:45
961
Spring的事务机制
2016-07-13 15:33
475
链接加密防篡改方法
2016-06-22 14:51
1564
学好Java基础的几本书
2011-11-13 20:53
2682
Java 日志管理
2011-06-28 14:59
1662
如何写好Java代码(转载)
2011-03-23 11:50
1508
jprofiler使用心得,你不知道的那些事
2010-10-12 08:25
1014
Java动态代理
2010-08-23 15:01
1334
JAVA反射机制
2009-05-13 16:59
923
java套接字处理
2009-05-13 16:58
1295
类初始化顺序(非常明了)
2009-05-13 16:55
1105
jvm指令解析
2009-05-13 16:54
3606
正则表达式的四种基本用法
2009-05-13 16:51
1171
时间格式
2009-05-13 16:51
2223
synchronized
2009-05-13 16:49
1089
invokevirtual,invokespecial,invokestatic,invokein
2009-05-13 16:48
4807
jvm的javap 指令及格式
2009-05-13 16:47
2109
Java 学习笔记
2009-05-13 16:46
3206
相关推荐
在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...
Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...
C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...
- `Regex.IsMatch(input, pattern)`:检查输入字符串是否符合给定的正则表达式模式。 - `Regex.Match(input, pattern)`:返回输入字符串的第一个匹配项。 - `Regex.Matches(input, pattern)`:返回输入字符串中...
在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...
在Java中,正则表达式的使用主要依赖于`java.util.regex`包中的类,如`Pattern`和`Matcher`。 首先,我们来看`Pattern`类。这个类是正则表达式的模板,负责编译和存储正则表达式。一旦正则表达式被编译为`Pattern`...
在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。C++作为一种通用编程语言,虽然标准库中没有内置正则表达式支持,但通过第三方库如Boost,我们可以很方便地在...
正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...
1. **编译正则表达式**:使用`Pattern.compile()`方法创建一个`Pattern`对象,例如`Pattern pattern = Pattern.compile("你的正则表达式")`。 2. **创建Matcher对象**:使用`Pattern`对象的`matcher()`方法,传入...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换操作。C#作为.NET框架的一部分,提供了全面支持正则表达式的类库,使得开发人员能够方便地利用正则表达式进行复杂的文本处理任务。在这个...
1. **Pattern**:表示一个正则表达式模式,可以通过`Pattern.compile(String regex)`静态方法创建。 2. **Matcher**:根据Pattern对象生成,用于执行匹配操作。通过`pattern.matcher(input)`方法获取。 正则表达式...
这份文档可能深入讲解了`Pattern`和`Matcher`类的用法,如`Pattern.compile()`用于编译正则表达式,`Matcher.find()`用于查找字符串中的匹配部分,`Matcher.group()`获取匹配的子串,以及如何使用`Pattern.split()`...
例如,`QRegExp("pattern")` 创建了一个匹配"pattern"的正则表达式。 2. **模式修饰符**:QRegExp支持模式修饰符来改变匹配行为。例如,`QRegExp("pattern", Qt::CaseInsensitive)` 会让匹配变为不区分大小写。 3....
该工具类使用了`java.util.regex`包中的`Pattern`和`Matcher`类来完成正则表达式的编译和匹配工作。以下是几个重要的方法说明: - `isPositiveInteger`:验证是否为正整数。 - `isNegativeInteger`:验证是否为负...
Java提供了`java.util.regex`包,通过`Pattern`和`Matcher`类支持正则表达式。以下是如何在Java中验证电话号码的一个例子: ```java import java.util.regex.Pattern; import java.util.regex.Matcher; String...
`re.compile(pattern, flags=0)`函数接收一个字符串`pattern`作为参数,返回一个正则表达式对象。这个对象可以被用来执行各种正则表达式操作,如匹配、查找、替换等。`flags`参数是可选的,用于设置匹配模式,例如...
在JavaScript环境中,正则表达式与其他语言有所不同,它既支持字面量表示法(如`/pattern/flags`),也支持构造函数表示法(如`new RegExp('pattern', 'flags')`)。此外,JavaScript提供了`test()`、`match()`、`...
1. **Pattern类**:这是正则表达式的核心,用于编译正则表达式并创建模式对象。一旦编译完成,该模式可以多次使用,提高了效率。例如: ```java Pattern pattern = Pattern.compile("^[a-zA-Z0-9]+$"); ``` 2. *...
首先,创建一个`RegExp`对象,然后设置其`Pattern`属性为我们要匹配的正则表达式模式。例如: ```vba Dim regEx As Object Set regEx = CreateObject("VBScript.RegExp") regEx.Pattern = "\d+" '匹配一个或多个...
在Java中,正则表达式通常与`Pattern`和`Matcher`两个类一起使用。`Pattern`类用于编译正则表达式,而`Matcher`类则用于执行匹配操作。例如,我们可以这样创建一个`Pattern`对象并进行匹配: ```java String regex ...