正则表达式
来源:互联网 发布:淘宝客服工作感想 编辑:程序博客网 时间:2024/06/05 07:04
近期做项目遇到了正则表达式,再次仔细看了一下他的语法,先分享出来与大家共享
1、元字符
元字符匹配
2、出现频次
3、定位符
4、范围符
5.常见正则表达式
1)、简单域名IP获取
一级域名:(.com等前只有一个的url)
[a-zA-Z0-9-]{0,62}(\\.[a-zA-Z0-9]{0,62})域名可以有IP:
^((http://)|(https://))?[a-zA-Z0-9-]{0,62}(\\.[a-zA-Z0-9-]{0,62})+(\\.[a-zA-Z0-9]{0,62})$域名
(http://)|(https://)?([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}
使用
String line = "13DB0F33805013885294366EA42DBFB9;安大师;-21.2-2.246.78";String pattern = "[a-zA-Z0-9-]{0,62}(\\.[a-zA-Z0-9-]{0,62})+(\\.[a-zA-Z0-9]{0,62})$";Pattern p=Pattern.compile(pattern);Matcher m=p.matcher(line);if(m.find()){//m.mathes() 完全匹配 line="-127.0.0.1"System.out.println(m.group());}
2)分组()的使用
通过分组,我们可以抓取到分组内匹配的字符
a、例如:定义字符串
String line="abrt-ccpp hook is installed..";Pattern install=Pattern.compile("(\\S+)\\s+\\S+\\s+is installed.*");//group(1) abrt-ccppMatcher isInstalled= install.matcher(line);if(isInstalled.matches()) { System.out.println(isInstalled.group());//abrt-ccpp hook is installed System.out.println(isInstalled.group(1));//hook 最外的() 有空格// System.out.println(isInstalled.group(2));//hook}结果:group(1) abrt-ccpp。isInstalled.group()永远是匹配全部的
b、修改模式
Pattern install=Pattern.compile("\\S+\\s+(\\S+)\\s+is installed.*");结果:group(1) hook 。捕获哪一个就在哪一个上添加()
c、与b比较
Pattern install=Pattern.compile("\\S+\\s+(\\S)+\\s+is installed.*");group(1) k只能捕获到k,因为只会限制到了k,没有包围+
d、嵌套分组
Pattern install = Pattern.compile("((\\S+)\\s+)+is installed.*");group(1)得到hook [有空格,第一层括号], group(2) 得到hook (无空格,第二层括号)
取出来数字3
String s="Live datanodes (3):"; Pattern p=Pattern.compile("Live datanodes \\((\\d)\\):"); Matcher m=p.matcher(s); if(m.matches()) { System.out.println(m.group(1)); }
阅读全文
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- Activity
- 对于XiyouLInuxGroup2017纳新面试题新的理解
- LaTeX-TexmakerX 简易入门指南
- 数据库事务
- 2017读书计划
- 正则表达式
- vim编辑后 生成的2个文件 是什么?
- Mysql错误提示:Error: Duplicate entry '0' for key 'PRIMARY'
- 在Filezilla下用sftp上传文件
- C++数据结构与算法——单向循环链表
- 路由器桥接chinanet拨号共享
- javascript使用正则表达式入门
- 字符串的输入与访问
- JS高级---原型到原型链(一看就懂)