lesson7 正则表达式
来源:互联网 发布:mac系统能玩暗黑吗 编辑:程序博客网 时间:2024/06/04 18:12
由于上星期笔记本落在学校,导致这么多天没记笔记,现在才补上,人也变懒了。。。要坚持啊
Matcher(匹配器) RegDemo
通过调用模式的matcher方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:
• matches方法尝试将整个输入序列与该模式匹配。
• lookingAt 尝试将输入序列从头开始与该模式匹配。
• find方法扫描输入序列以查找与该模式匹配的下一个子序列。
常用的通配符
.代表一个元字符
• a.b 匹配“avb” ,“a b” ,但不匹配a00b
^在字符串里代表开始,在[]里代表取反。
• ^j.*va匹配”j123skdva”, a[^0-9]b匹配”arb”,不能匹配”a1b”
$行的结尾
• a.c0$匹配”abc0”
|或者
• a+|b+匹配“aa”, “a”, “bbb”, “b”
[]
• 正则表达式r[aou]t匹配rat、rot和rut,但是不匹配ret
-
• [A-Za-z]可以匹配任何大小写字母
*代表允许字符出现多次
• a.*b匹配”abbb”, “a67b” atpb
+最少出现一次
• a+匹配“aa”, “a”
?重复零次或一次
• a.*b:?0$匹配“aab:0” “aab0”
{} 027-9999999
[0-9]{3}-[0-9]{7}
• 正则表达式A[0-9]{3}能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123、A348等
• 正则表达式[0-9]{4,6}匹配连续的任意4个、5个或者6个数字字符
• 正则表达式[0-9]{4,}匹配连续的任意4个或以上数字字符
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
预定义字符类
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
匹配模式,忽略大小写
Pattern.CASE_INSENSITIVE
/**
* 用正则去分割字符串
*/
publicvoid mySplit()
{
String phones1 =
"Justin的手机号码:0939-100391\n" +
"momor的手机号码:0939-666888\n";
//根据指定的字符拆分字符串
// String[] phone = phones1.split("\n");
// for(int i=0; i<phone.length; i++)
// {
// System.out.println("电话是:" + phone[i]);
// }
//圆括号用来分组,取数据的时候可以根据分组格式来进行数据提取
String regStr = "(.*):(0939-[\\d]{6})";
Patternpattern =null;
Matcher match = null;
try
{
pattern = Pattern.compile(regStr);
match = pattern.matcher(phones1);
while(match.find())
{
System.out.println("提取内容:" + match.group(1));
}
}
提取内容:Justin的手机号码
提取内容:momor 的手机号码
- lesson7 正则表达式
- lesson7
- 【正则表达式】正则表达式
- LogicJava---Lesson7
- lesson7-2
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- QT中窗体最大化最小化
- jsp常见面试题(6)
- Android OpenGL 画球 画圆
- Ubuntu下mount命令的好用处
- 给PHP安装amqp扩展
- lesson7 正则表达式
- 宇宙中最优秀的5位程序员
- VC怎样建立对话框工程?
- 用批处理设置IP
- db block gets的解释
- 深入浅出REST
- nginx basic auth 登陆验证模块
- 自旋锁和信号量
- 2012-7-23 总结