黑马程序员——java学习15(毕25)——正则表达式
2015-08-16 23:26
337 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
正则表达式
符合一定规则的表达式
作用:专门用于操作字符串
特点:用于一些特定的符号来表示一些代码操作,这样就简化书写
好处:可以简化对字符串的复杂操作
具体操作功能:
1、匹配:
public boolean matches(String regex)
参数
regex - 用来匹配此字符串的正则表达式
2、切割
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
3、替换
String replaceAll(String regex , String replacement)
使用给定的replacement替换此字符串中所有匹配给定的正则表达式的子字符串。
4、获取
正则表达式
符合一定规则的表达式
作用:专门用于操作字符串
特点:用于一些特定的符号来表示一些代码操作,这样就简化书写
好处:可以简化对字符串的复杂操作
具体操作功能:
1、匹配:
public boolean matches(String regex)
参数
regex - 用来匹配此字符串的正则表达式
2、切割
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
3、替换
String replaceAll(String regex , String replacement)
使用给定的replacement替换此字符串中所有匹配给定的正则表达式的子字符串。
4、获取
package learn; /* * 获取 */ import java.util.regex.*; class RegexDemo2 { public static void main(String[] args) { get(); } public static void get() { String str = "ming tian jiu yao fang jia le ,dajia ."; System.out.println(str); String regex = "\\b[a-z]{3}\\b"; //将规则封装成对象。 Pattern p = Pattern.compile(regex); //让正则对象和要作用的字符串相关联。获取匹配器对象。 Matcher m = p.matcher(str); //System.out.println(m.matches());//其实String类中的matches方法。用的就是Pattern和Matcher对象来完成的。 //只不过被String的方法封装后,用起来较为简单。但是功能却单一。 //boolean b = m.find(); // System.out.println(b); // System.out.println(m.group()); while(m.find()) { //使用group方法获取匹配后的结果。 System.out.println(m.group()); //start()和end()方法的返回值分别表示匹配后的结果在字符串上的角标位置。 System.out.println(m.start()+","+m.end()); } } }
字符 x 字符 x \\ 反斜线字符 \0n 带有八进制值 0 的字符 n (0 <= n <= 7) \0nn 带有八进制值 0 的字符 nn (0 <= n <= 7) \0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7) \xhh 带有十六进制值 0x 的字符 hh \uhhhh 带有十六进制值 0x 的字符 hhhh \t 制表符 ('\u0009') \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') \f 换页符 ('\u000C') \a 报警 (bell) 符 ('\u0007') \e 转义符 ('\u001B') \cx 对应于 x 的控制符 字符类 [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 次 组和捕获 捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组: 1 ((A)(B(C))) 2 \A 3 (B(C)) 4 (C) 组零始终代表整个表达式。
相关文章推荐
- 黑马程序员——反射与正则表达式
- 打算去上海,不知道会如何?仅仅因为这个理由
- iOS常见面试 问题
- 黑马程序员——String类
- 黑马程序员 基本数据类型对象包装类
- 黑马程序员 其他对象
- 每天五个java相关面试题(2)
- 剑指offer——面试题22:栈的压入、弹出序列
- 黑马程序员——Java基础--集合框架(2)
- 黑马程序员——Java基础--集合框架(1)
- 黑马程序员----Interface的学习笔记
- 黑马程序员——Java基本数据类型及其相互转换
- 黑马程序员——Java基础--反射
- 剑指offer_面试题21_包含min函数的栈
- 黑马程序员——多线程(下)——第12天
- 黑马程序员——多线程(上)——第11天
- 黑马程序员——黑苹果的日记(2)—基础知识总结(1)
- 程序员从优秀到卓越的几点建议
- 20个高级Java面试题汇总
- 9个Java初始化和回收的面试题