正则表达式(专题)
来源:互联网 发布:花生壳用自己的域名 编辑:程序博客网 时间:2024/06/05 23:46
一、特点
1.符合一定的规则的表达式。
2.作用:用于专门操作字符串。
特点:用一些特定的符号来表示一些代码操作,这样简化书写。
3.具体操作功能:
1) 匹配:String matches方法。
字符类:
- [abc]:表示相应字符位必须是a或b或c;
public class Test01 { public static void main(String[] args) { demo(); } public static void demo(){ String str = "a"; String reg = "[bcd]";//第一个字符必须是b或c或d。 System.out.println(str.matches(reg)); }}}//结果:false
- [a-zA-Z]:必须是字母:
注:位数
预定义字符: - \d:注意,用是写成\d ,第一个\是转义
String str = "a8";String reg = "[a-zA-Z]\\d";//只能校验两位数,代替了上面的[0-9]System.out.println(str.matches(reg));
- \w:单词字母(邮箱常用)
数量词: - X? ,X+ ,X{n} ,X{n,} ,X{n,m}
**2)切割**String split();
正则表达式:
弊端:符号定义越多,正则越长,阅读性越差。
**3)替换:**replaceAll()
public class Test01 { public static void main(String[] args) { replaceDemon("123456kuuusk1234op","\\d{5,}","#"); //将数字超过5个的替换成# replaceDemon("ghhhdsk55dj","(.)\\1+","&"); //把叠词替换成& replaceDemon("yyyyyjdhs77777","(.\\1+)","$1");//$表示获取第几个组。功能将重叠的字符替换成单个字母。 } public static void replaceDemon(String str,String reg,String newStr){ str = str.replaceAll(reg, newStr); System.out.println(str); } }/*结果:#kuuusk1234opg&dsk&djyyyyyjdhs77777*/
4)获取:
将字符串中符合规则的子串取出
操作步骤:
1)将正则表达式封装成对象
2)让正则对象和要操作的字符串相关联
3)关联后,获取正则匹配引擎
4)通过引擎对符合规则的子串进行操作,比如取出。
注:导包import java.util.regex.*;
public class Test01 { public static void main(String[] args) { getDemon(); } public static void getDemon(){ String str = "mng dksja ks dks sdjf djf"; String reg = "\\b[a-z]{3}\\b"; // \b单词边界 //将规则封装成对象 Pattern p = Pattern.compile(reg); //让正则对象和要做用的字符串相关联,获取匹配器对象, Matcher m = p.matcher(str); System.out.println(m.matches()); while(m.find())//返回boolean类型,先find才能group取出 { System.out.println(m.group());//group是获取匹配后的结果,所以应该先find } }}
0 0
- 正则表达式(专题)
- 正则表达式(J2SE专题二)
- .Net正则表达式专题
- 高级正则表达式专题
- php的正则表达式专题
- Java专题(四)之正则表达式详解
- 黑马程序员-java专题系列之1-正则表达式
- 【正则表达式】(三)、生成正则表达式
- 正则表达式(一)认识正则表达式
- 正则表达式(二)--常用正则表达式
- 正则表达式(一)
- 正则表达式(一)
- 正则表达式(1)
- (转)正则表达式
- 正则表达式(1)
- 正则表达式(摘录)
- 正则表达式(1)
- 正则表达式(2)
- 一种面向高维数据的集成聚类算法
- qt学习第六课:改变形状的对话框
- leetcode-242-Valid Anagram
- Linux系统入门学习:从VirtualBox中从主机访问NAT客户机
- MapReduce实现QQ好友推荐
- 正则表达式(专题)
- 高德地图JavaScript API-路径规划——基于amap-js_V1.3
- 二叉排序树的构建、插入、删除以及二叉树的打印
- 安装 Sublime Text2 与 markdown
- DOM与SAX的区别
- mysql修改数据库的密码
- python 爬虫2 介绍一下怎么抓取cookies,python多线程
- matlab与java的连接的配置
- java中的异常处理