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

黑马程序员——java基础——正则表达式

2015-08-29 22:37 519 查看
------- Android培训java培训、期待与您交流!
----------

1:正则表达式

    (1)就是符合一定规则的字符串

    (2)常见规则

        A:字符

            x 字符 x。举例:'a'表示字符a

            \\ 反斜线字符。

            \n 新行(换行)符 ('\u000A')

            \r 回车符 ('\u000D')           

        B:字符类

            [abc] a、b 或 c(简单类)

            [^abc] 任何字符,除了 a、b 或 c(否定)

            [a-zA-Z] a到 z 或 A到Z,两头的字母包括在内(范围)

            [0-9] 0到9的字符都包括          

        C:预定义字符类

            . 任何字符。我的就是.字符本身,怎么表示呢? \.

            \d 数字:[0-9]

            \w 单词字符:[a-zA-Z_0-9]

                在正则表达式里面组成单词的东西必须有这些东西组成

        D:边界匹配器

            ^ 行的开头

            $ 行的结尾

            \b 单词边界           

        E:Greedy 数量词

            X? X,一次或一次也没有

            X* X,零次或多次

            X+ X,一次或多次

            X{n} X,恰好 n 次

            X{n,} X,至少 n 次

            X{n,m} X,至少 n 次,但是不超过 m 次

(3)常见功能:

A:判断功能

            String类的public boolean matches(String regex)

// 创建键盘录入对象

Scanner sc =new Scanner(System.in);

System.out.println("请输入你的QQ号码:");

String qq =sc.nextLine();

System.out.println("checkQQ:"+ qq.matches("[1-9]\\d{4,14}"));

 

B:分割功能

        String类的public String[] split(String regex)

// 定义一个字符串

String s1 = "aa,bb,cc";

// 直接分割

String[] str1Array =s1.split(",");

for (int x = 0; x < str1Array.length;x++) {

     System.out.println(str1Array[x]);

 }

C:替换功能

    String类的public String replaceAll(String regex,String replacement)

// 我要去除所有的数字,用*给替换掉

// 定义一个字符串

String s ="helloqq12345worldkh622112345678java";

// 直接把数字干掉

String regex= "\\d+";

String ss ="*";

String result= s.replaceAll(regex, ss);

System.out.println(result);

D:获取功能

    Pattern和Matcher

        Pattern p =Pattern.compile("a*b");

        Matcher m =p.matcher("aaaaab");

        find():查找存不存在

        group():获取刚才查找过的数据   

获取下面这个字符串中由三个字符组成的单词

Jin tian tianqi bu cuo , Wo yao xue xi java !

// 定义字符串

String s =" Jin tian tian qi bu cuo , Wo yao xue xi java !";

// 规则

String regex= "\\b\\w{3}\\b";

// 把规则编译成模式对象

Patternp = Pattern.compile(regex);

// 通过模式对象得到匹配器对象

Matcherm = p.matcher(s);

while(m.find()) {

System.out.println(m.group());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: