java正则表达式四种常用的处理方式(匹配、分割、替代、获取)?
JAVA中正则表达式处理字符串的四个常用方法:匹配、分割、替换、截取。其跟字符串的常用函数相似,但是使用正则表达式会更简单、更加简洁。下面是具体的例子:
1 public class TestRegex {
2
3 public static void main(String[] args) {
4 String str = “”;
5 String regex = “”;
6
7 // 匹配
8 regex = “[1-9][a-z]”;
9 getMatches(str, regex);
10
11 // 分割
12 str = “1a:abc123:”;
13 regex = “:”;
14 getSpilt(str, regex);
15
16 // 替换
17 str = “1223334444aaabbc”;
18 String oldChar = “(.)1+”;
19 regex = “$1”;
20 getReplace(str, oldChar, regex);
21
22 // 截取
23 str = “urlabc123”;
24 regex = “(.*)”;
25 getSubstring(str, regex);
26
27 }
28
29 public static void getMatches(String str, String regex) {
30 System.out.println(str.matches(regex));
31 }
32
33 public static void getSpilt(String str, String regex) {
34 String[] array = str.split(regex);
35 for (String t : array) {
36 System.out.println(t);
37 }
38 }
39
40 public static void getReplace(String str, String oldChar, String regex)
{
41 System.out.println(str.replaceAll(oldChar, regex));
42 }
43
44 public static void getSubstring(String str, String regex) {
45 Pattern p = Pattern.compile(regex);
46 Matcher m = p.matcher(str);
47 if (m.find()) {
48 System.out.println(m.group(1));
49 }
50 }
51 }
正则表达式“\d+||(\d+\.\d+”是什么意思?
因为Java正则表达式需要转义反斜杠,所以有两个反斜杠,实际的正则表达式为d+.{0,1}d*这个正则表达式表示整数或者小数d+表示1个或多个0到9的数字,是整数部分(至少是一位整数的整数部分).{0,1}表示0个或1个小数点,因为点在正则表达式中表示任意字符,所以这里需要用转义符,使它变回原来的小数点的意思,{0,1}表示0或1个,也就是可以有或者没有小数点d*表示0个或多个0到9的数字,是小数部分,0个时表示这个数没有小数部分,只有整数部分.所以整个正则表达式表示整数(比如123)或者带整数部分的小数(比如123.12)(包括0.01这样的小数)
java正则表达式”[^0-9//.]+”与”[0-9//.]+”分别是什么意思?
[^0-9//.]+
匹配数字或“/”或“.”以外的字符一次或一次以上
[0-9//.]+
匹配数字或“/”或“.”一次或一次以上
其中//是在java编译环境中“/”加上转义字符,
另外“.”在方括号中表示的就是“.”,其他场合下表示任意可见字符。