JAVA正则表达式

一、正则表达式:

正则表达式:它用一些特殊的字符来描述一个文本的格式。我们可以通过正则表达式验证一个字符串是否符合格式要求。但是它并不能验证字符串内容是否正确。
正则表达式关键字:
   []代表可以出现一个字符,一般里面会列举具体出现的内容。
   [a],这个时候[]可以省略,表示出现一次a
   [abc],表示这个字符可以是a或b或c
   [^abc],表示此处是a、b、c以外的其他字符
   [a-z],表示此处可以是a到z的字符,注意范围必须从小到大。
   [a-zA-Z0-9],表示此处可以是字母或数字,字母不区分大小写。
   [a-z&&[^bc]],表示除b、c以外的小写字母
  . 代表任意一个字符
  \d:代表任意一个数字[0-9]
  \D:不能是数字的任意字符[^0-9]
  \s:任意一个空白字符(space table)
  \S:非空白的字符。
  \w:单词字符,只能是数字字母下划线[0-9a-zA-Z_]
  \W:非单词字符[^\w]
  量词:约束左边一个字符描述。
   ?:表示0或1次。[\w]? :任意一个0个单词字符。[\w][\w]?:表示1或2个单词字符。
   *:表示0或多次。
   +:至少一次。
   {n}:n次,n只能是数字。  [\d]{11},11次数字
   {n,}:n次以上。
   {n,m}:n到m次。
  ():将内容看做一个整体,(abcd)表示出现一个abcd.  ()中可以使用或关系,在几个整体中选其一。(138|135|136),138或135或136
  对于正则表达式的关键字,如果要使用其本身的含义,需要在其前面加\转义。

public class RexString {
 public static void main(String[] args){
  String str = "\"\"";  //""在java中有特殊含义,需要用\将其转义,这里实际上就是str存储的是""字符串。
  /**
   * w在java中没有特殊含义,所以不需要转义,这个时候你用\w就会出现错误。所以想描述\w需将转义字符转换为普通的\使用,
   * 所以在\前面加上一个\将其变成一个普通字符,这样java就可以正确描述\w了。   *
   */
  //String rex = "[0-9a-zA-Z]+@[\w]+.com";// \w与java中的转移字符发生冲突,需要将\转移
  String rex = "[0-9a-zA-Z]+@[\\w]+\\.com";//邮箱正则表达式 .com
  String PhoneRex = "(\\+86|0086)?\\d{11}";
  String noRex = "\\d{15}(\\d{2}[0-9xX])?";
  System.out.println(rex); \\[0-9a-zA-Z]+@[\w]+\.com
  String mail = "fan-chuanqi@q.com";
  /**
   * 字符串match(String rex)方法,使用给定的正则表达式来验证当前字符串的格式,若格式符合返回true
   *
   */
  boolean check = mail.matches(rex);
  System.out.println(check?"合法":"不合法");
 }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值