正则表达式 学习笔记2.1

简介:

徒弟:师傅呀,正则怎么用呀?搞个有条理性的东东给我看看吧!

师傅:也对,没条理的东西,不懂的人,看了更加晕,先讲讲:字符组。
1、 基本功能
字符组:
正则表达式的最基本结构之一
作用:规格 某个位置 能够出现的字符
形式:以 [...] 给出,在方括号内列出字符
实例:
判断10进制数值,只要能够判断每个数字出现在0-9之间,那就是10进制数值。
public   class  GeneralNumTest {
public   static   void  main(String[] args) {
String[] octDigits =  new  String[] {  "0" "1" "2" "3" , "4" , "5" , "6" , "7" , "8" , "9" };
String[] hexDigits =  new  String[] {  "0" "1" "2" "3" , "4" , "5" , "6" , "7" , "8" , "9" ,
  "a" "b" "c" "d" , "e" , "f" };
String octDigitRegex =  "[0123456789]" ;
String hexDigitRegex =  "[0123456789abcdef]" ;
for  (String octDigit : octDigits) {
if ( regexMatch (octDigit,octDigitRegex)){
System. out .println( "10进制数值:"  + octDigit + "能够匹配正则:"  + octDigitRegex);
} else {
System. out .println( "10进制数值:"  + octDigit + "不能够能够匹配正则:"  + octDigitRegex);
}
}
for  (String hexDigit : hexDigits) {
if ( regexMatch (hexDigit,hexDigitRegex)){
System. out .println( "16进制数值:"  + hexDigit + "能够匹配正则:"  + hexDigitRegex);
} else {
System. out .println( "16进制数值:"  + hexDigit + "不能够能够匹配正则:"  + hexDigitRegex);
}
}
}
private   static   boolean  regexMatch(String s, String regex) {
return  s.matches(regex);
}
}
运行结果:
10进制数值:0能够匹配正则:[0123456789]
10进制数值:1能够匹配正则:[0123456789]
10进制数值:2能够匹配正则:[0123456789]
10进制数值:3能够匹配正则:[0123456789]
10进制数值:4能够匹配正则:[0123456789]
10进制数值:5能够匹配正则:[0123456789]
10进制数值:6能够匹配正则:[0123456789]
10进制数值:7能够匹配正则:[0123456789]
10进制数值:8能够匹配正则:[0123456789]
10进制数值:9能够匹配正则:[0123456789]
16进制数值:0能够匹配正则:[0123456789abcdef]
16进制数值:1能够匹配正则:[0123456789abcdef]
16进制数值:2能够匹配正则:[0123456789abcdef]
16进制数值:3能够匹配正则:[0123456789abcdef]
16进制数值:4能够匹配正则:[0123456789abcdef]
16进制数值:5能够匹配正则:[0123456789abcdef]
16进制数值:6能够匹配正则:[0123456789abcdef]
16进制数值:7能够匹配正则:[0123456789abcdef]
16进制数值:8能够匹配正则:[0123456789abcdef]
16进制数值:9能够匹配正则:[0123456789abcdef]
16进制数值:a能够匹配正则:[0123456789abcdef]
16进制数值:b能够匹配正则:[0123456789abcdef]
16进制数值:c能够匹配正则:[0123456789abcdef]
16进制数值:d能够匹配正则:[0123456789abcdef]
16进制数值:e能够匹配正则:[0123456789abcdef]
16进制数值:f能够匹配正则:[0123456789abcdef]
以连字符'-'表示范围:
[0123456789] 的表示法过于累赘,可以用范围表示法简要描述
[0123456789]  =  [0-9]
[0-789]  =  [0-9]
[0123456789abcdef]  =  [0-9a-f]
刚刚的例子,可以修改为:
String octDigitRegex =  "[0 - 9]" ;
String hexDigitRegex =  "[0 - 9a - f]" ;
关于连字符的注意事项:
在字符组内部,只有当连字符出现在 两个字符之间 时,才能表示字符的范围;
如果出现在字符组的 开头 ,则只能表示单个字符'-',就是连字符本身。
例如:
public   class  GeneralNumTwo {
public   static   void  main(String[] args) {
String[] characters =  new  String[] {  "a" "b" "c" "d" , "e" , "f" , "g" , "-" };
String regex1 =  "[a-g]" ;
String regex2 =  "[-ag]" ;
for  (String character : characters) {
if ( regexMatch (character,regex1)){
System. out .println( "字符:"  + character + "能够匹配正则:"  + regex1);
} else {
System. out .println( "字符:"  + character + "不能够能够匹配正则:"  + regex1);
}
}
for  (String character : characters) {
if ( regexMatch (character,regex2)){
System. out .println( "字符:"  + character + "能够匹配正则:"  + regex2);
} else {
System. out .println( "字符:"  + character + "不能够能够匹配正则:"  + regex2);
}
}
}
private   static   boolean  regexMatch(String s, String regex) {
return  s.matches(regex);
}
}
运行结果:
字符:a能够匹配正则:[a-g]
字符:b能够匹配正则:[a-g]
字符:c能够匹配正则:[a-g]
字符:d能够匹配正则:[a-g]
字符:e能够匹配正则:[a-g]
字符:f能够匹配正则:[a-g]
字符:g能够匹配正则:[a-g]
字符:-不能够匹配正则:[a-g]
字符:a能够匹配正则:[-ag]
字符:b不能够匹配正则:[-ag]
字符:c不能够匹配正则:[-ag]
字符:d不能够匹配正则:[-ag]
字符:e不能够匹配正则:[-ag]
字符:f不能够匹配正则:[-ag]
字符:g能够匹配正则:[-ag]
字符:-能够匹配正则:[-ag]

本文转自jooben 51CTO博客,原文链接:http://blog.51cto.com/jooben/317152

相关文章
|
11月前
java202303java学习笔记第二十七天-正则表达式之3
java202303java学习笔记第二十七天-正则表达式之3
27 0
|
11月前
java202303java学习笔记第二十八天-正则表达式基本练习2
java202303java学习笔记第二十八天-正则表达式基本练习2
47 0
|
11月前
java202303java学习笔记第二十八天-正则表达式基本练习1
java202303java学习笔记第二十八天-正则表达式基本练习1
40 0
|
11月前
java202303java学习笔记第二十八天-正则表达式基本练习3 原
java202303java学习笔记第二十八天-正则表达式基本练习3 原
38 0
|
11月前
java202303java学习笔记第二十七天-正则表达式基本练习1
java202303java学习笔记第二十七天-正则表达式基本练习1
43 0
|
11月前
java202303java学习笔记第二十七天-正则表达式之2
java202303java学习笔记第二十七天-正则表达式之2
38 0
|
11月前
java202303java学习笔记第二十七天-正则表达式之1
java202303java学习笔记第二十七天-正则表达式之1
34 0
|
11月前
java202303java学习笔记第二十七天-正则表达式之4
java202303java学习笔记第二十七天-正则表达式之4
27 0
|
11月前
java202303java学习笔记第二十七天-正则表达式之3
java202303java学习笔记第二十七天-正则表达式之3
29 0
|
开发者 Python
正则表达式4|学习笔记
快速学习正则表达式4
91 0
正则表达式4|学习笔记

热门文章

最新文章