JavaApi高级编程(三)正则表达式的运用

简介: JavaApi高级编程(三)正则表达式的运用

一、正则表达式的概念


1、什么是正则表达式:

正则表达式是由普通字符(如英文字母)以及特殊字符(也成为元字符)组成的文字模式。该模式对文本查找时需要匹配的一个或多个字符串描述,给出一个匹配模板。


2、正则表达式的优点:

正则表达式可以大大简化文本识别工作,现已超出了某种语言或某个系统的局限,成为被人们广为使用的工具。


二、正则表达式的基本书写符号


1、基本书写符号:


public class Test1 {
  public static void main(String[] args) {
        //1、符号[]
  //只能是6位数字
  String s = "132a23";
  // 定义正则表达式
  String reg = "[0-9]{6}";
  // 验证表达式
  System.out.println(s.matches(reg));
        //2、[^ ]
        //电话号码:11位-1
  s = "12528023850";
  reg = "1[^012]\\d{9}";
  System.out.println(s.matches(reg));
        //3、|
        //验证一年的12个月:
  String s = "12";
  String a = "[0-9]|1[0-2]";
  System.out.println(s.matches(a));
  //4、()
        //邮箱:837786260 @ qq . com|cn
  s = "837786260@ww.com";
  reg = "[0-9a-zA-Z]{5,15}@(qq|126|163).(com|cn)";
  System.out.println(s.matches(reg));
        //5、-
        //最少8位的字母
  s = "1wertyuil";
  reg = "[a-zA-Z]{8,}";
  System.out.println(s.matches(reg));
    }
}

2、常用限定符:限定符将可选数量的数据添加到正则表达式


public class Test {
  public static void main(String[] args) {   
        //1、*
        //只能输入数字
        String s = "3";
  String a = "[0-9]*";
  System.out.println(s.matches(a));
        //2、+
        //只能输入由26个英文字母组成的字符串:
  String s = "zxcvbn";
  String a = "[a-zA-Z]+";
  System.out.println(s.matches(a));
        //3、{n}
        //只能输入n位的数字:
  String s = "323455";
  String a = "[0-9]{6}";
  System.out.println(s.matches(a));
        //4、{n,}
        //只能输入至少n位的数字:
  String s = "23456";
  String a = "[0-9]{3,}";
  System.out.println(s.matches(a));
        //5、{n,m}
        //只能输入n~m位的数字:
  String s = "234567";
  String a = "[0-9]{3,6}";
  System.out.println(s.matches(a));
        //6、$
        //整数或者小数:
  String s = "1.1234567";
  String reg = "^[0-9]*[1-9][0-9]*$|[0-9]{1,999999999}.[0-9]{1,9999999999999}";
  System.out.println(s.matches(reg));
        }
}

3、匹配字符集:

含义:匹配字符集是预定义的用于正则表达式中的符号集。如果字符串与字符集中的任何一个字符相匹配,它就会找到这个匹配项。

public class Test {
  public static void main(String[] args) {
        //1、\d
        //验证电话号码:
  String s = "18673507143";
  String a = "1[^02]\\d{9}";
  System.out.println(s.matches(a));

4、分组构造:


三:常用案例


//只能输入数字                
[0-9]*
//只能输入n位的数字
\d{n}
//只能输入至少n位的数字
\d{n,}
//只能输入n~m位的数字
\d{n,m}
//只能输入0和非0开头的数字
(0|[1-9][0-9]*)
//只能输入有两位小数的正实数
[0-9]+(.[0-9]{2})?
//只能输入有1~3位小数的正实数
[0-9]+(\\.[0-9]{1,3})?
//只能输入非0的正整数
\+?[1-9][0-9]*
//只能输入非0的负整数
\-[1-9][0-9]*
//只能输入长度为3的字符
.{3}
//只能输入由26个英文字母组成的字符串
[a-zA-Z]+
//只能输入由26个大写英文字母组成的字符串
[A-Z]+
//只能输入由26个小写英文字母组成的字符串
[a-z]+
//只能输入由数字和26个英文字母组成的字符串
[a-zA-Z0-9]+
//只能输入由数字和26个英文字母或者下划线组成的字符串
\w+
//整数
 “ ^-?\d+$” 
//英数字加下划线串:
“^\w+$” 
//E-mail地址
“^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$” 
//验证网站URL
“^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$”
相关文章
|
4月前
|
Python
告别死记硬背:掌握Python正则表达式re模块的高效应用&[面向百度编程]
Python中正则表达式的高效应用,通过内置的`re`模块,讲解了如何匹配、提取和替换字符串,并提供了相关示例代码,同时提倡通过实践来掌握正则表达式的使用,而不是仅仅依赖网络搜索。
52 1
N..
|
7月前
|
JavaScript 前端开发 PHP
web编程的正则表达式
web编程的正则表达式
N..
63 1
编程小白的自学笔记四(正则表达式模块search函数)
编程小白的自学笔记四(正则表达式模块search函数)
|
Python Windows
编程小白的自学笔记三(Python正则表达式)
编程小白的自学笔记三(Python正则表达式)
|
Shell Perl
【Shell编程】Shell中的正则表达式
【Shell编程】Shell中的正则表达式
142 0
|
Shell Linux
shell编程之正则表达式(下)
前言 1、通配符回顾 通配符:linux命令中可使用通配符替代或者识别某一些文件名。
119 0
|
机器学习/深度学习 关系型数据库 MySQL
shell编程之正则表达式(上)
前言 1、通配符回顾 通配符:linux命令中可使用通配符替代或者识别某一些文件名。
177 0
|
机器学习/深度学习 Shell Linux
shell编程中十分重要的正则表达式(你若决定灿烂,山无遮,海无拦)
shell编程中十分重要的正则表达式(你若决定灿烂,山无遮,海无拦)
175 0
shell编程中十分重要的正则表达式(你若决定灿烂,山无遮,海无拦)
C#编程-88:正则表达式拆分
C#编程-88:正则表达式拆分
C#编程-88:正则表达式拆分
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换