正则表达式学习与应用及JAVA中相关函数

6 篇文章 0 订阅
3 篇文章 0 订阅

首先po出最简单的规则:

规则字符在java.util.regex Pattern类中
1:字符
   x 字符x
   \\ 反斜线字符
   \n 换行符
   \r 回车符
   
2:字符类
   [abc] a、b 或 c
   [^abc] 任何字符,除了 a、b 或 c
   [a-zA-Z] a到 z或 A到 Z,两头的字母包括在内 
   [0-9] 包括数字字符0-9
   
3:预定义字符类
   . 任何字符
   \d 数字:[0-9]
   \w 单词字符:[a-zA-Z_0-9]
   
4:边界匹配器
   ^ 行的开头 
   $ 行的结尾 
   \b 单词边界(不能是单词字符)
      hello?hao are you.
      
5.数量词
X? X,一次或一次也没有 
X* X,零次或多次 
X+ X,一次或多次 
X{n} X,恰好 n 次 
X{n,} X,至少 n 次 
X{n,m} X,至少 n 次,但是不超过 m 次 

例子:

[1-9][0-9]{4,14} //QQ号码正则表达

表示第一位取值范围为1-9,后面是长度为4-14的取值为0-9的数字字符串。

1[38][0-9]{9} //13或18开头的手机号表达

表示第一位为1,第二位为3或8,后面是长度为9的取值为0-9的数字字符串。

\\w+@\\w{2,8}(\\.[a-z]{2,3})+ //邮箱地址表示方式

前面任意位为单词字符(包含数字)中间加@后面是长度为2-8的单词字符(包含数字)再加上.后面跟着2-3位的a-z的字母字符。

\\d+

表示后面出现的数字串,直到后面出现非数字为止。

还可以应用一些逻辑运算符如&|等等。

具体的正则表达式学习可以去此Blog,非常详细:http://www.runoob.com/regexp/regexp-example.html

http://blog.csdn.net/u010552788/article/details/51019367




除此之外还有一些日常和正则表达式配套使用的一些java中的常用方法如:

对正则表达式进行匹配的Matches():

public boolean matches(String regex);

boolean flag  =  String1.matches(regex);

根据正则表达式对String进行分割的split();

public String[] split(String regex);

String s1 = "aa,bb,cc";
String regex1 = ",";
String[] strArray1 = s1.split(regex1);
for (int x = 0; x < strArray1.length; x++) {
   System.out.println(strArray1[x]);
}

输出结果为:

aa

bb

cc

String.split("要切割的准侧")返回的是一个String[ ]的首地址;String.split("要切割的准侧").length 返回的是这个String被切割后的子字符串的个数(及被切割成了几个段);String.split(""),此时,切割后的第一个段是空字符串。

根据正则表达式对String中符合条件的进行替换的replaceAll();

public String replaceAll(String regex, String replacement);

 
String s = "hello62212934564347892xiexie13212345678go";
String ss = s.replaceAll("\\d+", "***");

输出结果为:

hello***xiexie***go


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值