Java 正则表达式小结

Java 中正则表达式是在Java 1.4版本以后才出现的。在java.util.regex包中Pattern类中列出了全部正则表达式内容,下面是列出几个常用正则表达式具体含义:

NO.

表达式

描述

1

[abc]

表示取值可能是a,可能是b,可能是c

2

[^abc]

表示取值不是abc的任意一个内容

3

[a-zA-Z]

表示全部字母,大小写都可,[a-z]表示小写字母

4

\d

表示有数字组成

5

\D

表示有非数字组成

6

\s

表示有空格组成,空格包含”\n”,”\t”之类

7

\S

表示有非空格组成

8

\w

表示有字母,数字,下划线组成

9

\W

表示有非字母,数字,下划线组成

10

X|Y

要么是正则X,要么是正则Y

11

X

表示一组规范

    

 

举几个例子,看看正则表达式在Java中是如何运用的:

(1)// 验证 First Name 是不是以大写字母开头的一个英文单词

        else if (!firstTextField.getText().matches("[A-Z][a-zA-Z]*")) {

            JOptionPane.showMessageDialog(this, "First Name非法!");

        }

 

       (2) // 验证 Last Name 是不是以大写字母开头的一个英文单词

        else if (!lastTextField.getText().matches("[A-Z][a-zA-Z]*")) {

            JOptionPane.showMessageDialog(this, "Last Name非法!");

        }

 

       (3) // 验证地址是否为数字开始,并包含一个单词或者两个单词

        else if (!addressTextField.getText().matches(

                "\\d+\\s+([a-zA-Z]+|[a-zA-Z]+\\s[a-zA-Z]+)")) {                 

            JOptionPane.showMessageDialog(this, "地址非法!");

        }

 

       (4) // 验证邮政编码是否为一个位数的数字

        else if (!zipTextField.getText().matches("\\d{5}")) {

            JOptionPane.showMessageDialog(this, "邮政编码非法!");

        }

 

      (5) // 验证电话号码的格式是否为123-456-7890

        // 并且区号和电话号码的第位不能是数字

        else if (!phoneTextField.getText().matches(

                 "[1-9]\\d{2}-[1-9]\\d{2}-\\d{4}")) {

            JOptionPane.showMessageDialog(this, "非法的电话号码!");

        }

 

       (6) // 验证字符串是否仅仅包含中文

        else if (!chineseTextField.getText().matches("[\u4E00-\u9FA5]+")) {

            JOptionPane.showMessageDialog(this, "只能输入中文!");

        }

 

(7)// 验证邮件地址

 

对于Email验证来说,域名的后缀只有有限几个,

分别是:com,com.cn,net.cn,org,edu,gov”。

其正则表示为:

”\\w+@\\w+.(com|com.cn|cn|net.cn|org|edu|gov)”

 01"^\\d+$"  //非负整数(正整数 + 0 

 
  02"^[0-9]*[1-9][0-9]*$"  //正整数  


 
  03"^((-\\d+)|(0+))$"  //非正整数(负整数 + 0  


 
  04"^-[0-9]*[1-9][0-9]*$"  //负整数  


 
  05"^-?\\d+$"    //整数  


 


 
  06"^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0  


 
  07"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数  


 
  08"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0  


 
  09"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数  


 
  10"^(-?\\d+)(\\.\\d+)?$"  //浮点数  


 
  11"^[A-Za-z]+$"  //26个英文字母组成的字符串  


 
  12"^[A-Z]+$"  //26个英文字母的大写组成的字符串  


 
  13"^[a-z]+$"  //26个英文字母的小写组成的字符串  


 
  14"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串  


 
  15"^\\w+$"  //由数字、26个英文字母或者下划线组成的字符串  


 
  16"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址  


 
  17"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url 
 

常用正则表达式
B;F#\"Xv&I,A9e0
  正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值