介绍

正则表达式,又称规则表达式,英文名为RegularExpression,在代码中常简写为regexregexpRE,是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式是对字符串(包括普通字符(例如,az之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

正则表达式


本文所有正则表达式都带有^$,而带^$和不带^$的区别如下:

  1. 加^$的话就代表把整个要匹配的字符串当成一个整体做一次匹配
  2. 不加则一个字符串可以匹配多次,只能代表这个字符串中有符合条件的,并不代表该字符串符合此条件

小写字母

匹配所有的小写字母: ^[a-z]$

大写字母

匹配所有的大写字母:^[A-Z]$

所有字母

匹配所有的字母:^[a-zA-Z]$

所有白字符

匹配所有的白字符:^[ \f\r\t\n]$

数字

^[0-9]*$

所有数字包括句号和减号

匹配所有的数字,句号和减号:^[0-9\.\-]$

n位的数字

^\d{n}$

至少n位的数字

^\d{n, }$

m-n位的数字

^\d{m,n}$

零和非零开头的数字

^(01[1-9][0-9]*)$

非零开头的最多带两位小数的数字

^([1-9] [0-9]*)+(. [0-9]{1,2})?$

带1-2位小数的正数或负数

^(\-) ?\d+(\.\d{1,2})?$

正数、负数、和小数

^(\-1\+)?\d+(\.\d+)?$

有两位小数的正实数

^[0-9]+(. [0-9]{2})?$

有1~3位小数的正实数

^[0-9]+(.[0-9]{1,3})?$

非零的正整数

^[1-9]\d*$^([1-9][0-9]*){1,3}$^\+?[1-9] [0-9]*$

非零的负整数

^\-[1-9][]0-9"*$^-[1-9]\d*$

非负整数

^\d+$^[1-9]\d*|0$

非正整数

^-[1-9]\d*|0$^((-\d+) | (0+))$

非负浮点数

^\d+(\. \d+) ?$^[1-9]\d*\. \d*|0\. \d*[1-9]\d* 10?\.0+10$

非正浮点数

^((-\d+(\.\d+)?) 1 (0+(\.0+)?))$^(-([1-9]\d*\. \d*10\. \d*[1-9]\d*)) 10?\.0+10$

正浮点数

^[1-9]\d*\.\d*10\.\d*[1-9]\d*$^(([0-9]+\. [0-9]*[1-9][0-9]*)1 ([0-9]*[1-9][0-9]*\.[0-9]+)1 ([0-9]*[1-9][0-9]*))$

负浮点数

^-([1-9]\d*\.\d*10\.\d*[1-9]\d*)$^(-(([0-9]+\.[0-9]*[1-9] [0-9]*)1 ([0-9]*[1-9][0-9]*\. [0-9]+)1 ([0-9]*[1-9][0-9]*))$

浮点数

^(-?\d+) (\.\d+)?$^-?([1-9]\d*\. \d*10\. \d*[1-9]\d*10?\.0+10)$

日期

  1. ^\d{4}-\d{1 ,2}-\d{1,2}
  2. 一年的12个月(01~091~12)的正则表达式: ^(0?[1-9]1[0-2])$
  3. 一个月的31天(01~091~31)的正则表达式: ^((O0?[1-9])((1|2)[0-9])|30|31)$

18位身份证号码(数字、字母x结尾)

^((\d{1 8})l([0-9x]{1 8})l([0-9X]{1 8}))$



本文作者: 博主:    文章标题:正则表达式语法
本文地址:https://teamep.cn/85.html     
版权说明:若无注明,本文皆为“指间”原创,转载请保留文章出处。
最后修改:2020 年 07 月 30 日 02 : 55 PM
如果觉得我的文章对你有用,请随意赞赏