正则表达式

简介: 正则表达式

正则表达式从功能上大致分为


  1. 限定符:限定出现的次数
  2. 选择匹配符
  3. 分组组合和反向引用符
  4. 特殊字符
  5. 字符匹配符
  6. 定位符


元字符-转义符号

当我们使用正则表达式去检索某些特殊字符的时候,需要用到转义字符,否则检索不到结果,甚至会报错。

转义字符:\ 或 \


大多数语言的转移字符是 \ , java中是 \

需要用到转义字符的字符有:. * + ( ) $ / \ ? [ ] ^ { }


字符匹配符


符号 释义 实例 解释
[ ] 接收的字符列表 [efkl] e,f,k,l 中的任意一个字符
[ ^ ] 不接收的字符列表 [^abc] 除a,b,c之外的任意字符(包括数字和符号)
- 连字符 A-Z 任意单个大写字母
. 匹配出\n 意外的任何字符 a…b 以a开头并以b结尾 中间包括两个任意字符的长度为4的字符串。例如 :a47b 、a&*b、aaab
\\d 匹配单个数字字符,相当于[0-9] \\d{3}(\\d)? 包含3个或4个数字的字符串 例如:996 1024
\\D 匹配单个非数字字符,相当于[^0-9] \\D(\\d)* 以单个非数字开头,后接任意个数字字符。例如:a10086、b2、
\\w 匹配单个数字、大小写字母字符和_。相当于[0-9a-zA-Z_] \\d{3}\\w{4} 以3个数字开头的长度为7的字符串。例如:996YYDS、007QNMD、5211314
\\W 匹配单个非数字、大小写字母字符。相当于[^0-9a-zA-Z] \\D+\\d{2} 以至少一个非数字字母开头,2个数字结尾的字符串。例如:#*&^29、&99、%100

[a-z]:表示可以匹配 a-z 中任意一个字符。

[A-Z]:表示可以匹配 A-Z 中任意一个字符。

(?i)abc:表示不区分大小写的匹配 ?i) 后面的字符串

[^a-z]:否定匹配

[^A-Z]:否定匹配

[^0-9]:否定匹配

[^a-z]{2}:表示匹配不是小写字母的两个


选择匹配符


| : 匹配“|”之前或者之后的表达式


正则限定符



定位符


符号 含义 示例 说明 举例
^ 指定起始字符 1+[a-z]* 029、9i、996gun、9
$ 指定结束字符 2\\-[a-z]+$ 1-a、9-n、0-y
\\b 匹配目标字符串的边界 snow\\b Iamsnow HowAreYou
\\B 匹配目标字符串的非边界 snow\\B 与 上面相反 IamSnowHowAreU


逻辑运算


  • && :并且
  • | :或者
public class RegexDemo2 {
    public static void main(String[] args) {
//        1 要求字符串是除a、e、i、o、u外的其它小写字符开头,后跟ad
        System.out.println("vad".matches("[a-z&&[^aeiou]]ad"));
//        2 要求字符串是aeiou中的某个字符开头,后跟ad
        System.out.println("aad".matches("[a|e|i|o|u]ad"));
    }
}


捕获分组



应用


验证汉字

^[\u0391-\uffe5]+$


验证手机号码

^1[3|4|5|7|8|9][0-9]{9}$

相关文章
|
10月前
|
数据安全/隐私保护
正则表达式大全
正则表达式
58 3
|
2月前
|
JavaScript 前端开发 数据可视化
正则表达式完整指南(下)
正则表达式完整指南(下)
正则表达式完整指南(下)
|
12月前
|
数据库
几种常用的正则表达式
几种常用的正则表达式
85 0
|
11月前
常用正则表达式大全
常用正则表达式大全
|
人工智能 数据安全/隐私保护
一些常用的正则表达式
今天在写一些输入验证的时候用到了正则表达式,现在就回顾一下我们常用的正则表达式,对于正则表达式的写法很多种,看个人的习惯了,我的写法也许不是很好,但可以满足基本需求。
89 0
|
前端开发 JavaScript Java
正则表达式(极其适合零基础)
正则表达式(极其适合零基础)
129 0
正则表达式(极其适合零基础)
|
Java PHP Python
正则表达式
正则表达式(Regular Expression),通常被用来检索、替换那些符合某个规则的文本数据。在众多计算机语言中基本都支持正则表达式,如PHP、Java、Python等。在Java中可以通过处理字符串的方式达到检索,替换文本字符串的目的,正则表达式可以在书写代码的时候可以更加简洁,如果你熟悉正则表达式,通常几行代码就可以搞定相当复杂的字符串处理方式。
115 0
正则表达式
|
数据安全/隐私保护
常用的正则表达式
常用的正则表达式
|
数据安全/隐私保护
正则表达式总结
正则表达式 定义: 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
1224 0
|
程序员 Windows