首页 > 其他分享 >正则表达式

正则表达式

时间:2022-09-03 11:34:11浏览次数:66  
标签:字符 数字 验证 正则表达式 字母 ASCII

 

1、正则表达式构造摘要

(1)字符类

[abc]abc(简单类)

[^abc]:任何字符,除了 abc(否定)

[a-zA-Z]azAZ,两头的字母包括在内(范围)

(2)预定义字符类

.:任何字符(与行结束符可能匹配也可能不匹配)

\d:数字:[0-9]

\D:非数字: [^0-9]

\s:空白字符:[ \t\n\x0B\f\r]

\S:非空白字符:[^\s]

\w:单词字符:[a-zA-Z_0-9]

\W:非单词字符:[^\w]

(3)POSIX 字符类(仅 US-ASCII)

\p{Lower}小写字母字符:[a-z]

\p{Upper}大写字母字符:[A-Z]

\p{ASCII}所有 ASCII:[\x00-\x7F]

\p{Alpha}字母字符:[\p{Lower}\p{Upper}]

\p{Digit} 十进制数字:[0-9]

\p{Alnum}字母数字字符:[\p{Alpha}\p{Digit}]

\p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[]^_`{|}~

\p{Blank} 空格或制表符:[ \t]

(4)边界匹配器

^:行的开头

$:行的结尾

(5)Greedy 数量词

X?X,一次或一次也没有

X*X,零次或多次

X+X,一次或多次

X{n}X,恰好 n

X{n,}X,至少 n

X{n,m}X,至少 n 次,但是不超过 m

(6)Logical 运算符

XYX 后跟 Y

X|YXY

(X):X,作为捕获组

(7)特殊构造(非捕获)

(?:X) X,作为非捕获组

(?=X) X,通过零宽度的正 lookahead

(?!X) X,通过零宽度的负 lookahead

(?<=X) X,通过零宽度的正 lookbehind

(?<!X) X,通过零宽度的负 lookbehind

(?>X) X,作为独立的非捕获组

2、常见的正则表达式示例

  • 验证用户名和密码,要求第一个字必须为字母,一共6~16位字母数字下划线组成:(^[a-zA-Z]\w{5,15}$)

  • 验证电话号码:xxx/xxxx-xxxxxxx/xxxxxxxx:(^(\d{3,4}-)\d{7,8}$)

  • 验证手机号码:( ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ )

  • 验证身份证号: (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)

  • 验证Email地址:(^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$)

  • 只能输入由数字和26个英文字母组成的字符串:(^[A-Za-z0-9]+$)

  • 整数或者小数:(^[0-9]+(.[0-9]+){0,1}$)

  • 中文字符的正则表达式:([\u4e00-\u9fa5])

  • 金额校验(非零开头的最多带两位小数的数字):(^([1-9][0-9]*)+(.[0-9]{1,2})?$)

  •  IPV4地址:(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))

标签:字符,数字,验证,正则表达式,字母,ASCII
From: https://www.cnblogs.com/gjh0109/p/16652229.html

相关文章

  • JAVA进阶--常用时间API、包装类、正则表达式、Array类、Lambda表达式、常见算法--202
    第一节 Date日期对象1、日期对象如何创建,如何获取时间毫秒值Datedate=newDate();Longtime=date.getTime();2、时间毫秒值怎么恢复成......
  • 正则表达式在Java中的使用
    正则表达式在Java中的使用不仅限于String类中的match()方法!!!正则中的^与$首先我们来了解这两个符号在正则表达式中的作用:^符号放在表达式头部表示开始匹配$符号放......
  • 使用正则表达式匹配任意字符包括空格和换行符
    今天在PHP中想使用正则表达式来获取一段文本中的任意字符。于是很随意得就写出如下匹配规则:(.*)结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才......
  • linux常用的通配符与正则表达式
    我们在很多地方都会用到通配符和正则表达式来实现我们的日常操作,提高我们的工作效率。但是很多新伙伴,往往容易将他们弄混。首先我们需要知道通配符和正则表达式的使用场景......
  • 6.文本处理和正则表达式
    1.文本编辑器vim1.1vim简介1.1.1基本格式1.1.2三种模式及转换1.2普通模式1.3编辑模式1.4命令行模式2.常见文本处理工具2.1查看文本内容cat、hexdump、od......
  • 超全的正则表达式速查手册
    一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数......
  • 正则表达式菜鸟教程
    地址: https://c.runoob.com/front-end/854一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9]......
  • 正则表达式
    创建方式构造器varreg1=newRegExp();console.log(reg1);字面量创建varreg1=//;console.log(reg1);使用varreg1=/use/;reg1.test('use');reg1.test......
  • Java封装正则表达式工具类
    Java与正则表达式Java中封装了关于正则表达式的内容,但是并不够彻底(抑或是我理解不够彻底),方便起见,在此编写一个小工具类:publicstaticArrayList<ArrayList<String>>......
  • JavaScript 正则表达式
    JavaScript正则表达式|菜鸟教程 https://www.runoob.com/js/js-regexp.html正则表达式(英语:RegularExpression,在代码中常简写为regex、regexp或RE)使用单个字符串来描......