您的位置:首页 > 编程语言 > Java开发

java语言基础(60)——java正则表达式基础使用

2017-06-09 23:16 381 查看
正则表达式各种语言通用,但不同的语言又有细微的区别。所以我们在用正则表达式的时候,一定要仔细了解当前语言中正则的规则。java中 java.util.regex包中的Pattern类说明了java语言中正则的细节。

正则表达式的应用:

判断  matches

分割  split

替换  replaceAll

获取  Pattern 与 Matcher合用

package patternDemo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

class PatternDemo
{
public static void main(String[] args){
// 匹配判断 matches
String reg = "^1[34578]{1}\\d{9}$";
String phone = "13112341234";
System.out.println(phone.matches(reg));// true

// 分割 split
String abc = "a,b,c";
String[] abcArr = abc.split(",");
for(int i = 0;i<abcArr.length;i++){
System.out.println(abcArr[i]); //输出 a b c
}

// 替换 replaceAll
String s = "hello123world456";
String regex = "\\d+";
String replacement = " ";
String result = s.replaceAll(regex,replacement);
System.out.println(result); // hello world

// Pattern 和 Matcher
// 使用方法
// 1 通过Pattern对象获取matcher对象
// 2 用matcher对象的获取功能 find() start() end() group()
String findInStr = "hello #world# hello #java# hello #php#";
// 找出所有的 ## 包围的字符
String pattern = "#(\\w+)#";

Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(findInStr);

while(m.find()){
System.out.print(m.group() +" "+ m.group(1));
System.out.println();
}
// 匹配结果
/* #world# world
#java# java
#php# php */

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