正则表达式
来源:互联网 发布:nba历届全明星mvp数据 编辑:程序博客网 时间:2024/06/08 09:04
String 类中有个matches(String regx)方法,返回一个布尔类型的值;用来匹配已给字符串是否与regx向匹配;字符类 [abc]a、b 或 c(简单类)[^abc]任何字符,除了 a、b 或 c(否定)[a-zA-Z]a 到 z 或 A 到 Z,两头的字母包括在内(范围)[a-d[m-p]]a 到 d 或 m 到 p:[a-dm-p](并集)[a-z&&[def]]d、e 或 f(交集)[a-z&&[^bc]]a 到 z,除了 b 和 c:[ad-z](减去)[a-z&&[^m-p]]a 到 z,而非 m 到 p:[a-lq-z](减去) 预定义字符类 .任何字符(与行结束符可能匹配也可能不匹配)\d数字:[0-9]\D非数字: [^0-9]\s空白字符:[ \t\n\x0B\f\r]\S非空白字符:[^\s]\w单词字符:[a-zA-Z_0-9]\W非单词字符:[^\w]
边界匹配器 ^行的开头$行的结尾\b单词边界\B非单词边界\A输入的开头\G上一个匹配的结尾\Z输入的结尾,仅用于最后的结束符(如果有的话)\z输入的结尾 Greedy 数量词 X?X,一次或一次也没有X*X,零次或多次X+X,一次或多次X{n}X,恰好 n 次X{n,}X,至少 n 次X{n,m}X,至少 n 次,但是不超过 m 次
正则表达式用于操作字符串数据。需要通过一些特定的符号来体现,因此必须要掌握一些特殊符号。使用时要经常查看api中String类中matches方法中的正则表达式符号
优缺点:代码简化了,但是阅读性也变差了!
例子:
反斜线字符 ('\') 用于引用转义构造,如上表所定义的,同时还用于引用其他将被解释为非转义构造的字符。因此,表达式 \\ 与单个反斜线匹配,而 \{ 与左括号匹配。
在不表示转义构造的任何字母字符前使用反斜线都是错误的;它们是为将来扩展正则表达式语言保留的。可以在非字母字符前使用反斜线,不管该字符是否非转义构造的一部分。
正则规则中封装方法用()即为组,组有编号,后面使用时直接拿组的编号来代表组,在使用组编号时需要使用转义符\\x
在没有()时默认为第零组,组编号为0,组的编号顺序按照左括号的顺序
正则表达式对字符串的常见操作:
1、匹配: 其实使用的就是String类中的matches方法
[1-9][0-9]{4-14}:匹配第一位不能为0的5—15位的数字;
as?b:匹配a和b之间不存在s或只存在一次s的字符串;as*b:s可以出现零次或者多次;as+b:s可以出现一次或者多次
2、切割
str.split(" +"):遇到一个空格或者是多个空格时切割
str.split("\\."): 遇到.时进行切割(注意第一个\用来转义第二个\,第二个\用来转义.)
str.split((.)\\1+):表示遇到叠词进行切割,例如遇到aaa,bbbbb时切割
3、替换
其实使用的就是String类中的repalceAll()方法
str.repalceAll("(.)\\1+","#"):将字符串中的叠词用一个#号来代替
str.repalceAll("(.)\\1+","$1"):将字符串中的叠词取消重复,变成一个词(其中$代表拿到前一个正则表达式中的第一组拿过来)
str.repalceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"):将手机号中的中间四位隐藏起来
4、获取
Pattern p = Pattern.
compile
("\\b[a-z]{3}\\b");\\将正则规则进行对象封装Matcher m = p.
matcher
("da jia hao jin tian bu fang jia");\\通过正则对象的matches方法组付出相关联。获取对字符串操作的匹配器对象Matcher\\boolean b = m.
matches
();\\通过Matcher匹配器对象的方法对字符串进行操作m.find();\\对匹配对象进行查找,只有先查找才能进行返回字符串
m.group();\\返回匹配的字符串
还可通过while(m.find())与str.replaceFirst("regx",m.group)等操作联合进行替换。
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- File类
- 网络编程
- eclipse一闪而过的解决方式(转载)
- java中产生随机数的方法
- IK Analyzer分词工具(转载)
- 正则表达式
- 时间 日期 相关类
- java中跳出多重循环的方法
- 反射机制
- 运算符优先级经典题c+=c++;
- 算法知识点
- 十进制,二进制,八进制的相互转换
- Firefox 将让多进程功能开放给更多使用者使用
- HashMap使用小结
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
酯类物质
干物质
物质社会
物质状态
大分子物质
物质的定义
ph标准物质
物质的质量
物质资料
物质需要
物质流
核物质
物质结构
盐类物质
物质英文
物质的性质
物质的状态
物质的本质
物质定义
物质构成
物质环境
物质和意识
极性物质
物质的属性
物质性质
腐蚀性物质
结构物质
物质组成
有关物质
物质的特性
精神活性物质
反物质粒子有什么用
新精神活性物质
物质是什么意思
物质的量公式
暗物质是什么
新精神活性物质又称为
中国非物质文化遗产
反物质粒子怎么获得
物质的量分数
非物质文化遗产有哪些