您的位置:首页 > 职场人生

黑马程序员——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、获取

  

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)

组零始终代表整个表达式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: