各种正则表达式大全
常用正则表达式大全!(例如:匹配中文、匹配html)
常⽤正则表达式⼤全!(例如:匹配中⽂、匹配html)⼀、常见正则表达式
匹配中⽂字符的正则表达式: [u4e00-u9fa5]
评注:匹配中⽂还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以⽤来计算字符串的长度(⼀个双字节字符长度计2,ASCII字符计1)
匹配空⽩⾏的正则表达式:ns*r
评注:可以⽤来删除空⽩⾏
匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
评注:⽹上流传的版本太糟糕,上⾯这个也仅仅能匹配部分,对于复杂的嵌套标记依旧⽆能为⼒
匹配⾸尾空⽩字符的正则表达式:^s*|s*$
评注:可以⽤来删除⾏⾸⾏尾的空⽩字符(包括空格、制表符、换页符等等),⾮常有⽤的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实⽤
匹配⽹址URL的正则表达式:^(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$
评注:⽹上流传的版本功能很有限,上⾯这个基本可以满⾜需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实⽤
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
整数或小数正则表达式
整数或小数正则表达式
在编程中,经常需要使用正则表达式来匹配数字,尤其是整数和小数。以下是一些常用的正则表达式:
1. 匹配整数:
^[1-9]d*$
解析:^ 表示开头,[1-9] 表示第一个数字不能为0,d* 表示0个或多个数字,$ 表示结尾。
例如,123、456、789 这些都是符合要求的整数。
2. 匹配负整数:
^-[1-9]d*$
解析:与匹配整数相同,只是在开头加了一个负号。
例如,-123、-456、-789 这些都是符合要求的负整数。
3. 匹配小数:
^[1-9]d*.d+|0.d*[1-9]d*$
解析:^ 表示开头,[1-9]d* 表示整数部分为1-9开头的数字,.d+ 表示小数点后面至少有一位数字,| 表示或者,0.d*[1-9]d* 表示小数点前面为0,小数点后面至少有一位数字,$ 表示结尾。
例如,3.14、0.5、123.456 这些都是符合要求的小数。
4. 匹配负小数:
^-([1-9]d*.d+|0.d*[1-9]d*)$
解析:与匹配小数相同,只是在整个正则表达式开头和结尾加了一个负号,表示匹配负数。
例如,-3.14、-0.5、-123.456 这些都是符合要求的负小数。
以上是一些常用的正则表达式,可以方便地匹配整数和小数。在实际编程中,可以根据需要进行调整和扩展。
常用的正则表达式代码汇总
常⽤的正则表达式代码汇总
常⽤的正则表达式代码汇总
常⽤的正则表达式代码汇总:
1。^\d+$ //匹配⾮负整数(正整数 + 0)
2。^[0-9]*[1-9][0-9]*$ //匹配正整数
3。^((-\d+)|(0+))$ //匹配⾮正整数(负整数 + 0)
4。^-[0-9]*[1-9][0-9]*$ //匹配负整数
5。^-?\d+$ //匹配整数
6。^\d+(\.\d+)?$ //匹配⾮负浮点数(正浮点数 + 0)
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配⾮正浮点数(负浮点数 + 0)
9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数
10。^(-?\d+)(\.\d+)?$ //匹配浮点数
11。^[A-Za-z]+$ //匹配由26个英⽂字母组成的字符串
12。^[A-Z]+$ //匹配由26个英⽂字母的⼤写组成的字符串
13。^[a-z]+$ //匹配由26个英⽂字母的⼩写组成的字符串
14。^[A-Za-z0-9]+$ //匹配由数字和26个英⽂字母组成的字符串
15。^\w+$ //匹配由数字、26个英⽂字母或者下划线组成的字符串
16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址
正则表达式例子大全
正则表达式例子大全
一、元字符
1. .:除换行外的任意单字符
2. \w:数字、字符
3. \d:十进制数字
4. \W:非数字、字符
5. \D:非十进制数字
6. \s:空白符(不可见字符)
7. \S:非空白符(可见字符)
8. \n:换行符
9. \r:回车符
10. \t:Tab空格
二、字符集合
1. [abc]:括号中任意单字符
2. [^abc]:除括号中字符外任意字符
3. [a-z]:括号中a-z英文字母
4. [A-Z]:括号中A-Z英文字母
5. [0-9]:括号中0-9数字
三、字符数量
1. *:0次或者多次
2. +:1次或者多次
3. ?:0次或者1次
4. {n}:n次
5. {m,n}:m次到n次
四、限定符
1. \b:单个单词边界
2. ^:字符串起始处
3. $:字符串结束处
4. |:或者
五、分组
1. (exp):括号内作为一个整体进行分组
2. (?:exp):
六、反义
1. \b:单词边界
2. \B:非单词边界
3. \w:数字、字母
4. \W:非数字、字母
5. \d:十进制数字
6. \D:非十进制数字
7. \s:空白符
8. \S:非空白符
正则表达式是一种非常强大的文本检查和替换工具,它的出现给我们
带来了更为可靠、灵活的文本处理方式,简化了字符串分析和文本处
理相关任务。它还提供了强大的文本搜索能力,主要用于文本模式匹配,如:搜索、替换、拆分等,在日常的文本处理中非常有效。它的
工作原理是通过使用特殊的字符串模式,来匹配文本中的某些字符模式,如果匹配到就返回True,如果没有匹配到就返回False。其中,元
常用的正则表达式
常用的正则表达式整理
1、非负整数:^\d+$
2、正整数:^[0-9]*[1-9][0-9]*$
3、非正整数:^((-\d+)|(0+))$
4、负整数:^-[0-9]*[1-9][0-9]*$
5、整数:^-?\d+$
6、非负浮点数:^\d+(\.\d+)?$
7、正浮点数:
^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)) $
8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$
9、负浮点数:^(-((正浮点数正则式)))$
10、英文字符串:^[A-Za-z]+$
11、英文大写串:^[A-Z]+$
12、英文小写串:^[a-z]+$
13、英文字符数字串:^[A-Za-z0-9]+$
14、英数字加下划线串:^\w+$
15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:
^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
17、邮政编码:^[1-9]\d{5}$
18、中文:^[\u0391-\uFFE5]+$
19、电话号码:
^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$ 20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
正则匹配时间格式
正则匹配时间格式
正则表达式是一种用来匹配字符串的强大工具,可以在文本中搜索、提取、替换特定的模式。时间格式是一种特定的字符串格式,用于表示时间和日期。使用正则表达式可以轻松地匹配各种时间格式。
以下是一些常见的时间格式及其对应的正则表达式:
1. YYYY-MM-DD HH:MM:SS
这是标准的年-月-日时:分:秒格式,可以用以下正则表达式匹配:
```
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
```
2. YYYY-MM-DD
这是只包含年-月-日的格式,可以用以下正则表达式匹配:
```
\d{4}-\d{2}-\d{2}
```
3. HH:MM:SS
这是只包含时:分:秒的格式,可以用以下正则表达式匹配:
```
\d{2}:\d{2}:\d{2}
```
4. HH:MM
这是只包含时:分的格式,可以用以下正则表达式匹配:
```
\d{2}:\d{2}
```
5. HH时MM分SS秒
这是以中文字符表示的时:分:秒格式,可以用以下正则表达式
匹配:
```
\d{2}时\d{2}分\d{2}秒
```
6. 中文年份
中文年份的格式是汉字表示的年份,可以用以下正则表达式匹配:
```
[零一二三四五六七八九十]{2,4}
```
7. MM-DD-YYYY
这是月-日-年的格式,可以用以下正则表达式匹配:
```
\d{2}-\d{2}-\d{4}
```
8. MMM DD, YYYY
这是用英文缩写表示月,以逗号分隔,年份在月份前面的格式,可以用以下正则表达式匹配:
```
\w{3} \d{2}, \d{4}
正则表达式(基本编码)
正则表达式(基本编码)
---恢复内容开始---
常⽤正则表达式⼤全!(例如:匹配中⽂、匹配html)
匹配中⽂字符的正则表达式: [u4e00-u9fa5]
评注:匹配中⽂还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以⽤来计算字符串的长度(⼀个双字节字符长度计2,ASCII字符计1)
匹配空⽩⾏的正则表达式:ns*r
评注:可以⽤来删除空⽩⾏
匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
评注:⽹上流传的版本太糟糕,上⾯这个也仅仅能匹配部分,对于复杂的嵌套标记依旧⽆能为⼒
匹配⾸尾空⽩字符的正则表达式:^s*|s*$
评注:可以⽤来删除⾏⾸⾏尾的空⽩字符(包括空格、制表符、换页符等等),⾮常有⽤的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实⽤
匹配⽹址URL的正则表达式:[a-zA-z]+://[^s]*
评注:⽹上流传的版本功能很有限,上⾯这个基本可以满⾜需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实⽤
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-******* 或 021-********
匹配腾讯QQ号:[1-9][0-9]{4,}
正则表达式语法大全
正则表达式语法⼤全
. :匹配任何单个字符。例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“b g”,但是不匹配“buug”,“b..g”可以匹配“buug”。
[ ] :匹配括号中的任何⼀个字符。例如正则表达式“b[aui]g”匹配bug、big和bag,但是不匹配beg、baug。可以在括号中使⽤连字符“-”来指定字符的区间来简化表⽰,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表达式“a[0-9]c”等价于“a[0123456789]c”就可以匹
配“a0c”、“a1c”、“a2c”等字符串;还可以制定多个区间,例如“[A-Za-z]”可以匹配任何⼤⼩写字母,“[A-Za-z0-9]”可以匹配任何的⼤⼩写字母或者数字。
( ) :将() 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到⼀个临时区域,这个元字符在字符串提取的时候⾮常有⽤。把⼀些字符表⽰为⼀个整体。改变优先级、定义提取组两个作⽤。
| :将两个匹配条件进⾏逻辑“或”运算。'z|food' 能匹配"z" 或"food"。'(z|f)ood' 则匹配"zood" 或"food"。
:匹配0⾄多个在它之前的⼦表达式,和通配符没关系。例如正则表达式“zo”能匹配“z”、“zo”以及“zoo”;因此“.”意味着能够匹配任意字符串。"z(b|c)"→zb、zbc、zcb、zccc、zbbbccc。"z(ab)"能匹配z、zab、zabab(⽤括号改变优先级)。
+ :匹配前⾯的⼦表达式⼀次或多次,和对⽐(0到多次)。例如正则表达式9+匹配9、99、999等。“zo+”能匹配“zo”以及“zoo”,不能匹配"z"。
20个常用的正则表达式 单字母
正则表达式(Regular Expression)是一种用于匹配字符串的强大工具。它通过使用特定的符号和字符来描述和匹配一系列字符串,能够
满足我们在处理文本时的各种需求。在这篇文章中,我们将深入探讨
20个常用的单字母正则表达式,并通过实例来展示它们的使用方法。
1. \b
在正则表达式中,\b表示单词的边界。它可以用来匹配单词的开头或
结尾,用于查找特定单词而不是单词的一部分。
2. \d
\d表示任意一个数字字符。它可以用来匹配任何数字,例如\d+可以
匹配一个或多个数字字符。
3. \w
\w表示任意一个字母、数字或下划线字符。它可以用来匹配单词字符,例如\w+可以匹配一个或多个单词字符。
4. \s
\s表示任意一个空白字符,包括空格、制表符、换行符等。它可以用
来匹配空白字符,例如\s+可以匹配一个或多个空白字符。
5. \.
\.表示匹配任意一个字符,包括标点符号和空格等。它可以用来匹配任
意字符,例如\.可以匹配任意一个字符。
6. \A
\A表示匹配字符串的开始。它可以用来确保匹配发生在字符串的开头。
7. \Z
\Z表示匹配字符串的结束。它可以用来确保匹配发生在字符串的结尾。
8. \b
\b表示单词的边界。它可以用来匹配单词的开头或结尾,用于查找特
定单词而不是单词的一部分。
9. \D
\D表示任意一个非数字字符。它可以用来匹配任何非数字字符。
10. \W
\W表示任意一个非单词字符。它可以用来匹配任何非单词字符。
11. \S
\S表示任意一个非空白字符。它可以用来匹配任何非空白字符。
12. \[
\[
表示匹配方括号。它可以用来匹配包含在方括号内的字符。
正则表达式实用语法大全
正则表达式基本符号:
^ 表示匹配字符串的开始位置 (例外用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
$ 表示匹配字符串的结束位置
* 表示匹配零次到多次
+ 表示匹配一次到多次 (至少有一次)
表示匹配零次或一次
. 表示匹配单个字符
| 表示为或者,两项中取一项
( ) 小括号表示匹配括号中全部字符
[ ] 中括号表示匹配括号中一个字符范围描述如[0-9 a-z A-Z]
{ } 大括号用于限定匹配次数如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符{n,m}表示至少n,最多m
\ 转义字符如上基本符号匹配都需要转义字符如 \* 表示匹配*号
\w 表示英文字母和数字 \W 非字母和数字
\d 表示数字 \D 非数字
常用的正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
sql语句:^(select|drop|delete|create|update|insert).*$
不包含数字的正则表达式
不包含数字的正则表达式
正则表达式是一种强大的文本处理工具,可以帮助我们快速匹配、查找、替换文本中的信息。而通常我们在正则表达式中使用的是各种元字符和特殊字符,如d表示数字,w表示字母数字下划线,.表示
任意字符等等。但是在某些情况下,我们需要匹配的文本中不能包含数字,这时该怎么办呢?
其实,我们可以使用一些不包含数字的正则表达式来实现这个目的。下面是一些常见的不包含数字的正则表达式:
1. [^d]:这个表示匹配除数字以外的任意字符。可以把它放到
正则表达式的每个位置上,用来限制匹配的文本中不能包含数字。
2. [^0-9]:这个和上面的表达式一样,也是用来匹配除数字以
外的任意字符。不过这个表达式的写法更加明确,它表示匹配ASCII 码表中除数字0-9之外的任意字符。
3. D:这个表示匹配除数字以外的任意字符,它和[^d]是等价的,只不过用法稍微不同。比如,如果我们要匹配一个不以数字开头的字符串,可以使用正则表达式^D。
4. [^[:digit:]]:这个表达式可以用来匹配任意不是数字的字符,它和上面的表达式类似,只不过写法不同。
以上这些正则表达式都可以用来匹配不包含数字的文本,具体使用时可以根据实际情况选择。同时,我们也可以根据需要自己编写一些不包含数字的正则表达式,比如匹配不包含手机号码的文本可以使用^d{11}$这个表达式的取反形式,即^[^d]{0,10}$。
最全常用正则表达式大全
最全常⽤正则表达式⼤全
⼀、校验数字的表达式
1. 数字:^[0-9]*$
2. n位的数字:^\d{n}$
3. ⾄少n位的数字:^\d{n,}$
4. m-n位的数字:^\d{m,n}$
5. 零和⾮零开头的数字:^(0|[1-9][0-9]*)$
6. ⾮零开头的最多带两位⼩数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7. 带1-2位⼩数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
8. 正数、负数、和⼩数:^(\-|\+)?\d+(\.\d+)?$
9. 有两位⼩数的正实数:^[0-9]+(.[0-9]{2})?$
10. 有1~3位⼩数的正实数:^[0-9]+(.[0-9]{1,3})?$
11. ⾮零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12. ⾮零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13. ⾮负整数:^\d+$ 或 ^[1-9]\d*|0$
14. ⾮正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15. ⾮负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16. ⾮正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17. 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
20个常用的正则表达式
20个常用的正则表达式
1. 匹配数字:\d+
2. 匹配字母或数字:\w+
3. 匹配空白字符:\s+
4. 匹配非空白字符:\S+
5. 匹配邮箱地址:\w+@\w+\.\w+
6. 匹配网址:http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-
F][0-9a-fA-F]))+
7. 匹配中文字符:[\u4e00-\u9fa5]+
8. 匹配日期格式:\d{4}-d{2}-\d{2}
9. 匹配时间格式:\d{2}:\d{2}:\d{2}
10. 匹配手机号:1[3-9]\d{9}
11. 匹配身份证号:\d{17}[\dXx]|d{14}
12. 匹配IP地址:((25[0-5]|2[0-4]\d|[01]?\dd?)\.){3}(25[0-5]|2[0-
4]\d|[01]?\dd?)
13. 匹配微信号:^[a-zA-Z][a-zA-Z_]{5,19}$
14. 匹配车牌号:^[\da-zA-Z]{1}[A-Z]{1}[A-Z_0-9]{5}$
15. 匹配用户名:^\w{3,16}$
16. 匹配密码:^\w{6,18}$
17. 匹配UUID:^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
18. 匹配MAC地址:^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
19. 匹配HTML标签:
|||
正则表达式符号大全
正则表达式符号大全
正则表达式是一种非常强大的字符串匹配工具,通过使用正则表达式
符号,我们可以更加精确和高效地匹配字符串。在本篇文章中,我们
将为大家介绍正则表达式符号的大全。
1. 字母和数字匹配符号
这些符号在正则表达式中被用来匹配特定的字母或数字:
- \d:匹配任意数字,通常用来检查电话号码或邮编等数字信息。
- \w:匹配任意字母或数字,通常用来检查用户名或密码等文本信息。- \s:匹配任意空格字符,通常用来检查段落缩进、文本对齐等信息。- \b:匹配单词边界,通常用来检查单词和数字等信息的边界位置。
- \n:匹配换行符,通常用来检查文本行数或段落结构等信息。
2. 特殊字符匹配符号
这些符号在正则表达式中被用来匹配特殊的字符:
- .:匹配任意单个字符,通常用来检查任意字符的出现情况。
- ^:匹配行首,通常用来检查文本开头的信息。
- $:匹配行尾,通常用来检查文本结尾的信息。
- []:匹配一组字符中的任意一个,通常用来检查密码复杂度等信息。- [^]:匹配不在一组字符中的任意字符,通常用来检查用户名包含非
法字符等信息。
3. 重复匹配符号
这些符号在正则表达式中被用来匹配重复出现的字符或模式:
- *:匹配零或多个前面的字符或模式,通常用来检查表格中的单元格合并信息。
- +:匹配一或多个前面的字符或模式,通常用来检查重复出现的数字或字母等信息。
- ?:匹配零或一个前面的字符或模式,通常用来检查信息是否可选或是否存在等。
- {n}:匹配前面的字符或模式出现了 n 次,通常用来检查密码长度等信息。
unicode字符正则
unicode字符正则
Unicode字符正则表达式是一种用于匹配和处理Unicode字符的方法。Unicode字符是指包括所有语言的字符、符号和标点的字符集,它为全球各种语言和文化提供了统一的编码标准。
在使用Unicode字符正则表达式时,我们可以利用各种特殊字符和字符类来实现对特定字符的匹配和处理。下面就让我们来看看一些常用的Unicode字符正则表达式及其用途。
1. \p{L}:匹配任意字母字符。这个表达式可以用来判断一个字符串是否只包含字母字符。
2. \p{N}:匹配任意数字字符。这个表达式可以用来判断一个字符串是否只包含数字字符。
3. \p{P}:匹配任意标点符号字符。这个表达式可以用来判断一个字符串是否只包含标点符号字符。
4. \p{S}:匹配任意符号字符。这个表达式可以用来判断一个字符串是否只包含符号字符。
5. \p{M}:匹配任意标记字符。这个表达式可以用来判断一个字符串是否只包含标记字符。
6. \p{Z}:匹配任意空白字符。这个表达式可以用来判断一个字符串是否只包含空白字符。
7. \p{C}:匹配任意控制字符。这个表达式可以用来判断一个字符串是否只包含控制字符。
使用Unicode字符正则表达式可以帮助我们在处理文本数据时更加方便和灵活。比如,我们可以使用\p{L}来提取一个字符串中的所有字母字符,使用\p{N}来提取一个字符串中的所有数字字符。同时,我们还可以通过使用特殊字符来实现对字符串中特定字符的匹配和替换。比如,我们可以使用\p{P}来匹配一个字符串中的所有标点符号字符,然后将其替换成空格字符。
正则表达式语法大全
. :匹配任何单个字符。例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“b g”,但是不匹配“buug”,“b..g”可以匹配“buug”。
[ ] :匹配括号中的任何一个字符。例如正则表达式“b[aui]g”匹配bug、big和bag,但是不匹配beg、baug。可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表达式“a[0-9]c”等价于“a[0123456789]c”就可以匹配“a0c”、“a1c”、“a2c”等字符串;还可以制定多个区间,例如“[A-Za-z]”可以匹配任何大小写字母,“[A-Za-z0-9]”可以匹配任何的大小写字母或者数字。
( ) :将() 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用。把一些字符表示为一个整体。改变优先级、定义提取组两个作用。
| :将两个匹配条件进行逻辑“或”运算。'z|food' 能匹配"z" 或"food"。'(z|f)ood' 则匹配"zood" 或"food"。
*:匹配0至多个在它之前的子表达式,和通配符*没关系。例如正则表达式“zo*”能匹配“z”、“zo”以及“zoo”;因此“.*”意味着能够匹配任意字符串。"z(b|c)*"→zb、zbc、zcb、zccc、zbbbccc。"z(ab)*"能匹配z、zab、zabab(用括号改变优先级)。
+ :匹配前面的子表达式一次或多次,和*对比(0到多次)。例如正则表达式9+匹配9、99、999等。“zo+”能匹配“zo”以及“zoo”,不能匹配"z"。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
###################JAVA:
Pattern p = pile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句
String a="aaaaab";
System.out.println(a.matches("a*b"));
或
boolean b = Pattern.matches("a*b", "aaaaab");等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。
此类的实例是不可变的,可供多个并发线程安全使用。Matcher 类的实例用于此目的则不安全。
####################JS:
//1到600的整数
//说明:一位是只能1到9;两位时1到9随便;三位是第一个数只能是1到5,第二个和第三个随便;或者是600
var reg=new RegExp("^([1-9] | [1-5]?[1-9]{0,2} | 600)$");
alert(reg.test("111"));
一、校验数字的表达式
1 数字:^[0-9]*$
2 n位的数字:^\d{n}$ (^\\d{n}$) 【斜杠要转义】
3 至少n位的数字:^\d{n,}$
4 m-n位的数字:^\d{m,n}$
5 零和非零开头的数字:^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
9 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
10 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
11 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13 非负整数:^\d+$ 或 ^[1-9]\d*|0$
14 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
二、校验字符的表达式
1 汉字:^[\u4e00-\u9fa5]{0,}$
2 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3 长度为3-20的所有字符:^.{3,20}$
4 由26个英文字母组成的字符串:^[A-Za-z]+$
5 由26个大写英文字母组成的字符串:^[A-Z]+$
6 由26个小写英文字母组成的字符串:^[a-z]+$
7 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
8 由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
9 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
10 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11 可以输入
含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
12 禁止输入含有~的字符:[^~\x22]+
三、特殊需求表达式
1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4 手机号码:^(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}$
5 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
6 国内电话号码(0511-*******、021-********):\d{3}-\d{8}|\d{4}-\d{7}
7 身份证号:
15或18位身份证:^\d{15}|\d{18}$
15位身份证:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
18位身份证:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$
8 短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$
11 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
15 钱的输入格式:
16 1.有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$
17 2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$
18 3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$
19 4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$
20 5.必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$
21 6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$
22 7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
23 8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
24 备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,
一般的错误都在这里
25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
26 中文字符的正则表达式:[\u4e00-\u9fa5]
27 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
28 空白行的正则表达式:\n\s*\r (可以用来删除空白行)
29 HTML标记的正则表达式:<(\S*?)[^>]*>.*?\1>|<.*? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)
30 首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
31 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)
32 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
33 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有用)