正则表达式大全

作者&投稿:皇追 (若有异议请与网页底部的电邮联系)
~ 废话不多说,直接附上常用的正则表达式!!!

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]*))$
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-4405222、021-87888822): \d{3}-\d{8}|\d{4}-\d{7}
7.身份证号(15位、18位数字): ^\d{15}|\d{18}$
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.xml文件: ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
17.中文字符的正则表达式: [\u4e00-\u9fa5]
18.双字节字符 :[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
19.空白行的正则表达式: \n\s*\r (可以用来删除空白行)
20.HTML标记的正则表达式: <(\S*?)[^>]*>.*?|<.*? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)
21.首尾空白字符的正则表达式: ^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
22.腾讯QQ号: [1-9][0-9]{4,} (腾讯QQ号从10000开始)
23.中国邮政编码: [1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
24.IP地址: \d+\.\d+\.\d+\.\d+ (提取IP地址时有用)
25.IP地址: ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
26.车牌


c语言中的?和:是什么运算符?
C语言里面?、:是三木运算符,其中?用来判断条件的真假,:用来根据判断结果决定取值。如(a<b)?a:b"是一个"条件表达式",如果a

C语言:已有定义int x=3,y=4,z=5;则表达式 !(x+y)+z-1&&y+z\/2的值是...
答案是1。涉及到的运算符: ! () + - && \/ 运算符优先级为:() ! \/ + - && 运算过程:x=3,y=4,z=5 !(x+y)+z-1&&y+z\/2 !(3+4)+5-1&&4+5\/2 所以表达式计算步骤为 !(3+4)+5-1&&4+5\/2 -> !7+5-1&&4+5\/2 !7为 0 -> 0+5-1&&4+5\/2 5\/2 整数除整数...

请问正则表达式([^^]*?)是什么意思?
\/\\{\\{(.+?)\\}\\}\/g 最前面的“\/”与最后面的“\/”是分隔符,表示正则表达式的开始与结束。最后的“g”标志则表示正则表达式使用的global(全局)的状态。使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。【相关的标志还有i(...

若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是( ).
逗号表达式的值等于最右一个表达式的值,但程序先要从左到右走一遍(i=2,j=5,i++,i+j++) 分解成:(1)i=2,(2)j=5,(3)i (4) i=i+1 ( i 当前值 变 3),( 所以,到i+j++的时候i的值已经变了)(5) 最右一个表达式的值 = i+j++ = i+j = 3+5 = 8 ...

int k, i =2 , j=4;则表达式. k=(++i)×(j--)的值是?
而i++的意思则是相反的,先计算表达式的值,然后i在自加1,所以你这个表达式的意思就是 k=(++i)x(j--);++在i前面,所以i的值加一,--在j后面,所以j的值是原来的值,k=(3)x(4);k=12;这时候的i,j分别是3(表达式运算前i++),3(表达式完成后j--)...

假设int a=1,b=2;则表达式(++a\/b)*b--的值是多少?答案是2,但是我不...
优先级问题,真正的程序中一定要尽量避免这种可读性差且宜出错的代码 这个表达式分解如下 a=a+1; \/\/a=2 a=a\/b; \/\/a=1 a=a*b; \/\/a=2 b=b-1; \/\/b=1 这一句是这个表达式结束后的事情了,所以表达式的值是2

int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是?
若A为真(即A运算结果非0),则返回表达式c;若为0,则返回表达式c.因此x>y++x:++y的意思是判断x>y的真假,若为真,则返回表达式++x,若为假,则返回++y.2). 执行z+= 【执行过程】表达式z+=x>y?++x:++y等价于z=z+(x>y?++x:++y).变量赋值后即为z=3+(1>2?++1:++2),1)由于1>2...

C语言 int i=10,则表达式20<=i<=9的值是?
1——因为<=是左结合的,20<=i<=9等价于(20<=i)<=9。(20<=i)<=9-->(0)<=9-->“真”-->1。

设x的值为5,则表达式(++x)+(++x)+(++x)的值是 24 为什么?
根编译器有关。VC++6.0的编译器对x=(++x)+(++x)+(++x)的算法如下:设x=5;则(++x)+(++x)+(++x)=((++x)+(++x))+(++x)即先算前两个++再算+,((++x)+(++x))+(++x)就等于(7+7)+8,结果为22。你用的编译器是先算括号里的++然后再把值加到一起。即(++x)+(++x)+...

正则则表达式中可以匹配任意一个字符的表达式有哪些?
很多表达式可以匹配任意字符如 [\\S\\s] 表示空格或非空格, 那就是任意字符了 还有一个点 . 在单行模式下表示除了回车以外的任意字符, 在多行模式表示任意字符.还有 [\\W\\w] 这种跟[\\S\\s] 一样, 它表示任意可以组成词的字符和不能组成词的字符 一般这些正则关键字, 大写表示和小写相反...

镇平县15619561730: 正则表达式(规则表达式) - 搜狗百科
弘重雅博: \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp...

镇平县15619561730: 0到50000的正则表达式 -
弘重雅博: ^(?:[1-9]\d{0,3}|0|50000|[1-4]\d{4})$ 即可,注意复制的时候把空格去掉!bitterbeans提供的:^(\d|[1-4]\d{1,4}|50000)$ 不能匹配5999等情况 ^ 表示开始的位置 (?:) 表示这个组是非捕获组(提高匹配速度) [1-9]\d{0,3}|0|50000 表示1-9999或者0或者50000或者10000-49999 $ 表示结束的位置

镇平县15619561730: 0到150的正则表达式怎么写和输入6位以上字符,不允许空格的正则表达式,谢谢! -
弘重雅博: 1. /^((\d{1,2})|(1[0-4]\d)|(150))$/2. /^\S{6,}$/3. /^\w{4,16}$/

镇平县15619561730: 正则表达式 任意数字,包括零、小数、负数、负小数 -
弘重雅博: 两个问题分列如下.匹配任意整数或小数:^[+-]?\d+\.?\d*$ 匹配大于等于-90,小于等于90的任何整数或小数:^[+-]?(([0-8]\d(\.\d+)?)|(90(\.0+)?))$ 有问题交流啊.

镇平县15619561730: 正则表达式 -
弘重雅博: ^1-9]([0-9]{1,2}1-9]([0-9]{1,2})?$...

镇平县15619561730: 正则表达式 -
弘重雅博: 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen.

镇平县15619561730: 求写一个正则表达式 -
弘重雅博: 直接转换为数值,然后大于小于判断或许更简单点.正则的通常写法:var reg = /((([5-9])|([1-9]\d)|([1-4]\d{2})|(500))$)|((([5-9])|([1-9]\d)|([1-4]\d{2})|(500))%$)/不通常的写法可用零宽断言非捕获组的方法写出来,代码更简洁点,可惜俺想不出来.顺便指出1搂的写法不太严谨,501也会被匹配的,

镇平县15619561730: 求正则表达式 -
弘重雅博: /(?:on_|)click *\(\)/g只改了你一点点东西,应该不难理解吧.你那样写过不了的原因我认为是因为负向预查不消耗字符数,具体点说就是,虽然on_click的时候不发生替换,但是接下来进行的是n_click,这样一来,就发生替换了.\s等价于[\f\n\r\t\v],这个范围有点大了,像你描述的情况,我觉得一个空格符足够了

镇平县15619561730: 急,javascript正则表达式! -
弘重雅博: JavaScript 的函数声明有以下三种:function funcname() {}var funcname = function() {}var obj = { funcname: function() { }}第一种情况的正则表达式/function\s*(\w+)...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网