徒弟:正则的字符组,学习完了,还有什么呢?
师傅:下面看看量词吧。
量词:
l
作用:限定之前的字符出现的次数
l
形式:
·
*
:之前的字符可以出现0次到无穷多次
·
+
:之前的字符至少需要出现1次
·
?
:之前的字符至多只能出现1次
例子:
public
class
GeneralOne {
public
static
void
main(String[] args) {
String[] strs =
new
String[] {
""
,
"a"
,
"aa"
,
"aaa"
};
String regex =
"a*"
;
String regex2 =
"a?"
;
String regex3 =
"a+"
;
for
(String string : strs) {
if
(
regexMatch
(string,regex)){
System.
out
.println(string +
"能够匹配正则:"
+ regex);
}
else
{
System.
out
.println(string +
"不能够匹配正则:"
+ regex);
}
}
for
(String string : strs) {
if
(
regexMatch
(string,regex2)){
System.
out
.println(string +
"能够匹配正则:"
+ regex2);
}
else
{
System.
out
.println(string +
"不能够匹配正则:"
+ regex2);
}
}
for
(String string : strs) {
if
(
regexMatch
(string,regex3)){
System.
out
.println(string +
"能够匹配正则:"
+ regex3);
}
else
{
System.
out
.println(string +
"不能够匹配正则:"
+ regex3);
}
}
}
private
static
boolean
regexMatch(String s, String regex) {
return
s.matches(regex);
}
}
运行结果:
能够匹配正则:a*
a能够匹配正则:a*
aa能够匹配正则:a*
aaa能够匹配正则:a*
能够匹配正则:a?
a能够匹配正则:a?
aa不能够匹配正则:a?
aaa不能够匹配正则:a?
不能够匹配正则:a+
a能够匹配正则:a+
aa能够匹配正则:a+
aaa能够匹配正则:a+
区间量词:
l
作用:限定之前的字符出现的次数
l
形式:
·
{min,max}
·
{min,}
·
{number}
·
* = {0,}
·
+ = {1,}
·
? = {0,1}
用\\d验证数字字符串
{2}表示出现2次
例子:
public
class
GeneralTwo {
public
static
void
main(String[] args) {
String[] strs =
new
String[] {
""
,
"a"
,
"aa"
,
"aaa"
,
"aaaa"
,
"aaaaa"
};
String regex =
"a{2,4}"
;
String regex2 =
"a{2,}"
;
String regex3 =
"a{3}"
;
for
(String string : strs) {
if
(
regexMatch
(string,regex)){
System
.
out
.println(string +
"能够匹配正则:"
+ regex);
}
else
{
System
.
out
.println(string +
"不能够匹配正则:"
+ regex);
}
}
for
(String string : strs) {
if
(
regexMatch
(string,regex2)){
System
.
out
.println(string +
"能够匹配正则:"
+ regex2);
}
else
{
System
.
out
.println(string +
"不能够匹配正则:"
+ regex2);
}
}
for
(String string : strs) {
if
(
regexMatch
(string,regex3)){
System
.
out
.println(string +
"能够匹配正则:"
+ regex3);
}
else
{
System
.
out
.println(string +
"不能够匹配正则:"
+ regex3);
}
}
}
private
static
boolean
regexMatch(String s, String regex) {
return
s.matches(regex);
}
}
运行结果:
不能够匹配正则:a{2,4}
a不能够匹配正则:a{2,4}
aa能够匹配正则:a{2,4}
aaa能够匹配正则:a{2,4}
aaaa能够匹配正则:a{2,4}
aaaaa不能够匹配正则:a{2,4}
不能够匹配正则:a{2,}
a不能够匹配正则:a{2,}
aa能够匹配正则:a{2,}
aaa能够匹配正则:a{2,}
aaaa能够匹配正则:a{2,}
aaaaa能够匹配正则:a{2,}
不能够匹配正则:a{3}
a不能够匹配正则:a{3}
aa不能够匹配正则:a{3}
aaa能够匹配正则:a{3}
aaaa不能够匹配正则:a{3}
aaaaa不能够匹配正则:a{3}
未完待续。。。
本文转自jooben 51CTO博客,原文链接:http://blog.51cto.com/jooben/317567