`
kevin_wanwei
  • 浏览: 117664 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
  正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

分享到:
评论

相关推荐

    详解Java判断是否是整数,小数或实数的正则表达式

    在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...

    正则表达式小结

    在Java编程中,正则表达式被广泛应用于数据验证、文本提取、字符串处理等多个场景。以下是对Java中正则表达式使用的一些核心概念和常用模式的详细解释: 1. **正则表达式编译与匹配过程**: - 正则表达式首先需要...

    精通正则表达式~~~

    精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...

    js:校验IPv6地址的正则表达式

    jquery 正整数数字校验正则表达式JavaScript正则表达式校验非零的正整数实例利用js正则表达式...Java正则表达式校验邮箱与手机号jQuery中校验时间格式的正则表达式小结校验普通电话、传真号码的正则表达式(可以+开头...

    正则表达式参考

    #### 四、小结 通过上述内容可以看出,《正则表达式口袋参考书》涵盖了多种主流编程语言下的正则表达式实现细节,对于想要深入学习这一领域的开发者来说,是一本非常有价值的参考书籍。无论是在日常开发工作中还是在...

    匹配移动/联通/电信手机号码正则表达式小结

    中国移动 134.135.136.137.138.139.150.151.152.157.158.159.187.188 ,147(数据卡) 中国联 通130.131.132.155.156.185.186 中国电信133.153.180.189 CDMA 133,153 正 则如下: 代码如下: /// <summary> /// 匹配移动...

    Mastering Regular Expressions

    随着时间的发展,不同的开发者独立开发了多种质量、功能和复杂度各不异的Java正则表达式包。直到2002年,随着Java 1.4的发布,Sun公司正式推出了其内置的`java.util.regex`包,为Java社区提供了一个标准的正则表达式...

    Tedu正则表达式与Object与自动装箱与拆箱

    #### 小结 本文介绍了正则表达式的基础语法及其在 Java 字符串中的应用,并详细讨论了 `String` 和 `StringBuilder` 类的特性和方法。同时,还解释了 `Object` 类的重要性以及自动装箱和拆箱的概念。这些知识点对于...

    Mastering Regular Expressions, 3rd Edition pdf

    ### 小结 - **正则表达式**作为一种强大的文本处理工具,在多种编程语言中都有广泛应用。 - 《Mastering Regular Expressions, 3rd Edition》不仅适合从未接触过正则表达式的读者入门学习,也适合已有基础的读者...

    javascript 正则表达式用法 小结

    javascript正则表达式用法: 代码如下:function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert(“ok”); return true; } else { return false; } } //另一种写法 代码如下:function checkreg...

    javascript之正则表达式基础知识小结

    元字符 ^ $ . * + ? = ! : | \ / ( ) [ ] { } 在使用这些符号时需要用“\”来进行转移。 如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\” 简单匹配 1、直接量 /javascript/ 匹配带有...

    Java中replace、replaceAll和replaceFirst函数的用法小结

    `target`和`replacement`都是普通的字符串,不涉及正则表达式。例如,在`"abac".replace("a", "\\a")`中,`"a"`被`\a`替换,结果为`"\ab\ac"`,因为`\\`表示一个反斜线。 2. `replaceAll(String regex, String ...

    java获取文件扩展名的方法小结【正则与字符串截取】

    本文将介绍两种方法来获取Java中的文件扩展名:使用正则表达式和字符串截取。 ### 使用正则表达式获取文件扩展名 正则表达式是一种强大的文本匹配工具,可以用来匹配、查找和提取特定模式的字符串。在Java中,我们...

    javascript中match函数的用法小结

    javascript中的match函数是使用正则表达式对字符串进行查找,并将查找的结果作为数组返回,在实际开发中非常的有用,使用方法如下: stringObj.match(rgExp) 其中stringObj是必选项。对其进行查找的 String 对象或字符...

    计算机等级考试二级java模拟题八.pdf

    以上是对给定文件中涉及到的计算机科学相关知识点的详细解释,涵盖了软件开发方法、算法分析、数据结构、Java编程、数据库设计、I/O操作、正则表达式、GUI编程、线程管理和Java Applet等多个方面。

    Java课设:内有课程设计报告以及完整代码

    8. **正则表达式**:正则表达式是用于匹配字符串模式的强大工具,在输入验证、数据提取等方面非常有用。例如,可以使用正则表达式检查用户输入的格式是否正确。 9. **格式化显示**:Java提供了一系列的类,如...

    Java实验指导书(实验七).doc

    #### 五、实验小结 通过本次实验,不仅巩固了对Java中字符串、正则表达式、数学运算、日期处理以及集合框架的理解,还提高了编程实践能力和问题解决能力。实验过程中的问题记录与解决也为后续的学习提供了宝贵的参考...

    Java中String.split()用法小结

    总之,`String.split()`方法是Java中进行字符串切割的重要工具,正确理解和使用正则表达式转义规则是关键。在编写代码时,一定要注意特殊字符的处理,确保它们被正确地解析为分隔符,而不是正则表达式的一部分。同时...

Global site tag (gtag.js) - Google Analytics