一些正则表达式的含义

正则表达式

1、 正则表达式含义

\d 匹配一个数字字符,/\d/ = /[0-9]/

\D 匹配一个非数字字符,/\D/ = /[^0-9]/

\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等

\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/

\w 匹配一个可以组成单词的字符,包括下划线

\W 匹配一个不可以组成单词的字符,等于[^a-zA-Z0-9]。

\t 匹配一个制表符

\n 匹配一个换行符

\r 匹配一个回车符

\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如\*表示的是一个*号

^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"

$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"

* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa

+ 匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa

? 匹配前面元字符0次或1次,/ba?/将匹配b,ba

{n} 精确匹配n次

{n,} 匹配n次以上

{n,m} 匹配n-m次

. 除了换行符之外的任意字符,等价于[^\n]

x|y 匹配x或y

[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)

[^xyz] 不匹配这个集合中的任何一个字符

[\b] 匹配一个退格符

2、 用以上的正则表式的语法,可以把两位数描述成 / \ d \ d /,把四位数描述成 / \d \ d \ d \ d /

3、 例子

/\d{2, 4}/     匹配2到4间的数字.

/\w{3} \d?/    匹配三个单字字符和一个任意的数字.

/\s+java\s+/    匹配字符串"java" ,并且该串前后可以有一个或多个空格.

4、 常用正则表达式(部分正则表达式并不十分准确,用的时候自行修改即可)

1、匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

2、匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

3、匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}

\d{3}-\d{8}|\d{4}-\d{7}

评注:匹配形式如 0511-4405222 或 021-87888822

4、匹配身份证:\d{15}|\d{18}

5、匹配ip地址:\d+\.\d+\.\d+\.\d+

6、匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

7、匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

验证中文的正则表达式:

/^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/

//校验是否全由数字组成
var patrn=/^[0-9]{1,20}$/

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;

//校验用户姓名:只能输入1-30个以字母开头的字串
var patrn=/^[a-zA-Z]{1,30}$/;

//校验密码:只能输入6-20个字母、数字、下划线
var patrn=/^(\w){6,20}$/;

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

//校验手机号码:必须以数字开头,除数字外,可含有“-”
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

//校验邮政编码
var patrn=/^[a-zA-Z0-9]{3,12}$/;

//校验搜索关键字
var patrn=/^[^`[email protected]#$%^&*()+=|\\\][\]\{\}:;‘\,.<>/?]{1}[^`[email protected]$%^&()+=|\\\] [\]\{\}:;‘\,.<>?]{0,19}$/;
var patrn=/^[0-9.]{1,20}$/;

正则表达式
^\\d+$  //非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$  //正整数
^((-\\d+)|(0+))$  //非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$  //负整数
^-?\\d+$    //整数
^\\d+(\\.\\d+)?$  //非负浮点数(正浮点数 + 0)
^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //正浮点数
^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$  //非正浮点数(负浮点数 + 0)
^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //负浮点数
^(-?\\d+)(\\.\\d+)?$  //浮点数
^[A-Za-z]+$  //由26个英文字母组成的字符串
^[A-Z]+$  //由26个英文字母的大写组成的字符串
^[a-z]+$  //由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //由数字和26个英文字母组成的字符串
^\\w+$  //由数字、26个英文字母或者下划线组成的字符串
^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$    //email地址
^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$  //url
^[A-Za-z0-9_]*$ Js正则表达式

Ghost 发表于 [2008-01-17 23:17]

//校验是否全由数字组成
var patrn=/^[0-9]{1,20}$/

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;

//校验用户姓名:只能输入1-30个以字母开头的字串
var patrn=/^[a-zA-Z]{1,30}$/;

//校验密码:只能输入6-20个字母、数字、下划线
var patrn=/^(\w){6,20}$/;

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

//校验手机号码:必须以数字开头,除数字外,可含有“-”
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

//校验邮政编码
var patrn=/^[a-zA-Z0-9]{3,12}$/;

//校验搜索关键字
var patrn=/^[^`[email protected]#$%^&*()+=|\\\][\]\{\}:;‘\,.<>/?]{1}[^`[email protected]$%^&()+=|\\\] [\]\{\}:;‘\,.<>?]{0,19}$/;
var patrn=/^[0-9.]{1,20}$/;

正则表达式
^\\d+$  //非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$  //正整数
^((-\\d+)|(0+))$  //非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$  //负整数
^-?\\d+$    //整数
^\\d+(\\.\\d+)?$  //非负浮点数(正浮点数 + 0)
^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //正浮点数
^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$  //非正浮点数(负浮点数 + 0)
^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //负浮点数
^(-?\\d+)(\\.\\d+)?$  //浮点数
^[A-Za-z]+$  //由26个英文字母组成的字符串
^[A-Z]+$  //由26个英文字母的大写组成的字符串
^[a-z]+$  //由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //由数字和26个英文字母组成的字符串
^\\w+$  //由数字、26个英文字母或者下划线组成的字符串
^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$    //email地址
^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$  //url
^[A-Za-z0-9_]*$

时间: 2024-10-05 04:01:39

一些正则表达式的含义的相关文章

javascript 正则表达式字符含义基础解释

字符 含意 ^   匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $   匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A" *   匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa +   匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa ?   匹配前面元字符0次或1次,/ba?/将匹配b,ba |   代表或者的意思 (x)   匹配x

js 正则表达式符号含义

\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*". ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $ 匹

正则表达式字符含义

字符/意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释.例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分界线.或者:对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释.例如:*是一个特殊字符,匹配任意个字符(包括0个字符):例如:/a*/意味匹配0个或多个a.为了匹配字面上的*,在a前面加一个反斜杠:例如:/a*/匹配’a*’.字符^意义:表示匹配的字符必须在最前边.例如:/^A/不匹

Js 正则表达式特殊字符含义

字符   匹配 \o     null \t      制表符 \n     换行符 \v     垂直制表符 \f     换页符 \r     回车符 \xnn   由十六进制nn指定的拉丁字符 如\xoA等价于\n \uxxx  有十六进制数xxxx指定的Unicode字符,如\u00009等价于\t \cX    控制字符^X,如\cJ等价于\n […]    方括号内的任意字符 [^…]   不在方括号内的任意字符 .      出换行符和其他Unicode行终止符之外的任意字符 \w

np.cumsum()函数和正则表达式的含义

原文地址:https://www.cnblogs.com/shadow1/p/10487563.html

正则表达式 [:graph:] 含义

[:graph:] 代表printable and visible的字符,是除空格符(空格键与[TAB]键)之外的所有按键, 控制字符不算[:graph:] https://www.regular-expressions.info/posixbrackets.html POSIX Description ASCII Unicode Shorthand Java [:alnum:] Alphanumeric characters [a-zA-Z0-9] [\p{L&}\p{Nd}]   \p{Al

正则表达式(一)

正则表达式: 我们已经接触过与正则表达式有关的一些概念.例如在Windows操作系统中,用“?”和“*”通配符来查找硬盘上的文件时,“?”通配符匹配文件名中的单个字符,而“*”通配符匹配零个或多个字符.如“data?.dat”就是一种文本模式,它能匹配“data1.dat”.“datan.dat”和“dataw.dat”.“data*.da”是另外一种文本模式,它匹配“data.dat”.“data1.dat”.“datawnc.dat”和“datadiff.dat”等文件名.正则表达式的功能和

55分钟学会正则表达式

原文地址-Sam Hughes 翻译水平有限,如有谬误,欢迎评论斧正或者Pull Request. 正则表达式(“regexes”)即增强查找/字符串替换操作.当在文本编辑器中编辑文字时,正则表达式经常用于: 检查文本是否包含一个给定的模式 查找任何匹配的模式 从文本中拉取信息(比如截断) 修改文本 和文本编辑器一样,绝大多数高级编程语言支持正则表达式.在本文中,“文本”仅仅是一个字符串变量,但是有效的操作却是一致的.某些编程语言(Perl,JavaScript)甚至为正则表达式提供专用的语法.

Java对正则表达式的支持(一)

Java对正则表达式的支持主要体现在String.Pattern.Matcher和Scanner类. 1.Pattern.Matcher 先看一个Pattern和Matcher类使用正则表达式的例子. public class PatternTest { public static void main(String [ ] args) { String testString = "abcabcabcdefabc"; String [] regexs = new String []{&q