Java基础--正则表达式
来源:互联网 发布:java apache commons 编辑:程序博客网 时间:2024/05/16 05:53
正则表达式:就是有一定规则的字符串。然后其他方法调用时将其作为参数传入。
1,常见符号
字符 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 次 Logical 运算符 XY X 后跟 Y X|Y X 或 Y (X) X,作为捕获组
2,正则表达式的四种功能
匹配、切割、替换、获取1)匹配:String中的matches方法。
public static void qqCheck(String qq){ String reg = "[1-9]\\d{4-14}";//第一位只能是1-9, 后面是数字,接有4-14位。 //返回结果是boolean型,符合reg返回true。 qq.matches(reg);}
2)切割:String[] 中split(String reg)
public class Regex { public static void main(String[] args) { String reg1 = "\\.";//以.切割 String reg2 = " +";//零个或多个空格切 String reg3 = "(.)\\1+";//以叠词切, String[] s = "192.168.1.1".split(reg1); print(s); s = "he ll o ".split(reg2); print(s); s = "dfnnnnnnnnnngiiiiidfiiiisdssssdcs".split(reg3); print(s); } public static void print(String[] s) { for(String str : s) System.out.print(str); }}
3)替换:String 中replaceAll方法
String s = "nnnnnnnnniiiiiiiissss"; String reg = "(.)\\1+"; s=s.replaceAll(reg, "$1");//$1表示reg表达式括号内的组合
4)获取:
package com.itheima;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Regex{ public static void main(String[] args) { String s = "ma shang jiu yao qu heima "; String reg = "\\b\\w{3}\\b";//这里定义正则表达式 get(s, reg); } public static void get(String s, String reg) { //Pattern是一个类,调用功能将规则封装成一个对象。 Pattern p = Pattern.compile(reg); //将正则对象p和要作用的字符串s关联,返回的一个匹配器对象。 Matcher m = p.matcher(s); while(m.find())//匹配器查找与模式匹配的一个子序列 System.out.println(m.group());//返回给定组捕获的子序列。 }}
0 0
- java正则表达式基础
- Java 正则表达式基础
- java基础---->正则表达式
- java正则表达式基础
- java基础--正则表达式
- Java 正则表达式基础
- java 基础正则表达式
- java正则表达式基础
- java 正则表达式基础
- 【java】正则表达式基础
- JAVA基础------正则表达式
- 【JAVA基础】正则表达式
- 【JAVA基础】正则表达式
- Java:正则表达式基础
- Java基础:正则表达式
- java基础--正则表达式
- Java基础 正则表达式
- java基础--正则表达式
- Quartz2D的简单使用
- C\C++编译器的未来.我们还需要C++么?
- Android中measure过程、view绘制原理和MeasureSpec介绍及使用详解
- 变量命名小记
- hdu 4611 Balls Rearrangement(规律)
- Java基础--正则表达式
- Ubuntu12.04下安装配置adb工具
- CSS常用选择器及优先级
- Boa服务器的移植
- R绘图
- 1020. 月饼 (25)
- c++基础
- NOIP 2013 转圈游戏
- iOS中相对1970的时间转换为现在时间