知识大全 C#中的常用正则表达式总结
Posted 字符
篇首语:木尺虽短,能量千丈。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#中的常用正则表达式总结相关的知识,希望对你有一定的参考价值。
C#中的常用正则表达式总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
这是我发了不少时间整理的C#的正则表达式 新手朋友注意一定要手册一下哦 这样可以节省很多写代码的时间 中国自学编程网为新手朋友整理发布
只能输入数字 ^[ ]*$
只能输入n位的数字 ^\\dn$
只能输入至少n位的数字 ^\\dn $
只能输入m~n位的数字 ^\\dm n$
只能输入零和非零开头的数字 ^( |[ ][ ]*)$
只能输入有两位小数的正实数 ^[ ]+( [ ] )?$
只能输入有 ~ 位小数的正实数 ^[ ]+( [ ] )?$
只能输入非零的正整数 ^\\+?[ ][ ]*$
只能输入非零的负整数 ^\\ [ ][] *$
只能输入长度为 的字符 ^ $
只能输入由 个英文字母组成的字符串 ^[A Za z]+$
只能输入由 个大写英文字母组成的字符串 ^[A Z]+$
只能输入由 个小写英文字母组成的字符串 ^[a z]+$
只能输入由数字和 个英文字母组成的字符串 ^[A Za z ]+$
只能输入由数字 个英文字母或者下划线组成的字符串 ^\\w+$
验证用户密码 ^[a zA Z]\\w $ 正确格式为 以字母开头 长度在 ~ 之间 只能包含字符 数字和下划线
验证是否含有^%& ;=?$\\ 等字符 [^%& ;=?$\\x ]+
只能输入汉字 ^[\\u e \\u fa ] $
验证Email地址 ^\\w+([ + ]\\w+)*@\\w+([ ]\\w+)*\\ \\w+([ ]\\w+)*$
验证InternetURL //([\\w ]+\\ )+[\\w ]+(/[\\w /?%&=]*)?$
验证电话号码 ^(\\(\\d )|\\d )?\\d $ 正确格式为 XXX XXXXXXX XXXX XXXXXXXX XXX XXXXXXX XXX XXXXXXXX XXXXXXX 和 XXXXXXXX
验证身份证号( 位或 位数字) ^\\d |\\d $
验证一年的 个月 ^( ?[ ]| [ ])$ 正确格式为 ~ 和 ~
验证一个月的 天 ^(( ?[ ])|(( | )[ ])| | )$ 正确格式为; ~ 和 ~
利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文 onkeyup= value=value replace(/[^\\u E \\u FA ]/g ) onbeforepaste= clipboardData setData( text clipboardData getData( text ) replace(/[^\\u E \\u FA ]/g ))
用正则表达式限制只能输入全角字符 onkeyup= value=value replace(/[^\\uFF \\uFFFF]/g ) onbeforepaste= clipboardData setData( text clipboardData getData( text ) replace(/[^\\uFF \\uFFFF]/g ))
用正则表达式限制只能输入数字 onkeyup= value=value replace(/[^\\d]/g ) onbeforepaste= clipboardData setData( text clipboardData getData( text ) replace(/[^\\d]/g ))
用正则表达式限制只能输入数字和英文 onkeyup= value=value replace(/[\\W]/g ) onbeforepaste= clipboardData setData( text clipboardData getData( text ) replace(/[^\\d]/g ))
得用正则表达式从URL地址中提取文件名的javascript程序 如下结果为page
以下是引用片段 s= s=s replace(/( *\\/) ([^\\ ]+) */ig $ ) alert(s)
匹配双字节字符(包括汉字在内) [^\\x \\xff]
应用 计算字符串的长度(一个双字节字符长度计 ASCII字符计 )
以下是引用片段 String prototype len=function()return this replace([^\\x \\xff]/g aa ) length;
匹配空行的正则表达式 \\n[\\s| ]*\\r
匹配HTML标记的正则表达式 /<( *)> *<\\/\\ >|<( *) \\/>/
匹配首尾空格的正则表达式 (^\\s*)|(\\s*$)
以下是引用片段 String prototype trim = function() return this replace(/(^\\s*)|(\\s*$)/g );
利用正则表达式分解和转换IP地址
下面是利用正则表达式匹配IP地址 并将IP地址转换
成对应数值的Javascript程序
以下是引用片段 function IP V(ip) re=/(\\d+)\\ (\\d+)\\ (\\d+)\\ (\\d+)/g //匹配IP地址的正则表达式 if(re test(ip)) return RegExp $ *Math pow( ))+RegExp $ *Math pow( ))+RegExp $ * +RegExp $ * else throw new Error( Not a valid IP address! ) 不过上面的程序如果不用正则表达式 而直接用split函数来分解可能更简单 程序如下
以下是引用片段 var ip= ip=ip split( ) alert( IP值是 +(ip[ ]* * * +ip[ ]* * +ip[ ]* +ip[ ]* ))
符号解释
\\
将下一个字符标记为一个特殊字符 或一个原义字符 或一个 向后引用 或一个八进制转义符 例如 n 匹配字符 n \\n 匹配一个换行符 序列 \\\\ 匹配 \\ 而 \\( 则匹配 (
^
匹配输入字符串的开始位置 如果设置了 RegExp 对象的 Multiline 属性 ^ 也匹配 \\n 或 \\r 之后的位置
$
匹配输入字符串的结束位置 如果设置了RegExp 对象的 Multiline 属性 $ 也匹配 \\n 或 \\r 之前的位置
*
匹配前面的子表达式零次或多次 例如 zo* 能匹配 z 以及 zoo * 等价于
+
匹配前面的子表达式一次或多次 例如 zo+ 能匹配 zo 以及 zoo 但不能匹配 z + 等价于
?
匹配前面的子表达式零次或一次 例如 do(es)? 可以匹配 do 或 does 中的 do ? 等价于
n
n 是一个非负整数 匹配确定的 n 次 例如 o 不能匹配 Bob 中的 o 但是能匹配 food 中的两个 o
n
n 是一个非负整数 至少匹配n 次 例如 o 不能匹配 Bob 中的 o 但能匹配 foooood 中的所有 o o 等价于 o+ o 则等价于 o*
n m
m 和 n 均为非负整数 其中n <= m 最少匹配 n 次且最多匹配 m 次 例如 o 将匹配 fooooood 中的前三个 o o 等价于 o? 请注意在逗号和两个数之间不能有空格
?
当该字符紧跟在任何一个其他限制符 (* + ? n n n m) 后面时 匹配模式是非贪婪的 非贪婪模式尽可能少的匹配所搜索的字符串 而默认的贪婪模式则尽可能多的匹配所搜索的字符串 例如 对于字符串 oooo o+? 将匹配单个 o 而 o+ 将匹配所有 o
匹配除 \\n 之外的任何单个字符 要匹配包括 \\n 在内的任何字符 请使用象 [ \\n] 的模式
(pattern)
匹配 pattern 并获取这一匹配 所获取的匹配可以从产生的 Matches 集合得到 在VBScript 中使用 SubMatches 集合 在JScript 中则使用 $ …$ 属性 要匹配圆括号字符 请使用 \\( 或 \\)
(?:pattern)
匹配 pattern 但不获取匹配结果 也就是说这是一个非获取匹配 不进行存储供以后使用 这在使用 或 字符 (|) 来组合一个模式的各个部分是很有用 例如 industr(?:y|ies) 就是一个比 industry|industries 更简略的表达式
(?=pattern)
正向预查 在任何匹配 pattern 的字符串开始处匹配查找字符串 这是一个非获取匹配 也就是说 该匹配不需要获取供以后使用 例如 Windows (?= | |NT| ) 能匹配 Windows 中的 Windows 但不能匹配 Windows 中的 Windows 预查不消耗字符 也就是说 在一个匹配发生后 在最后一次匹配之后立即开始下一次匹配的搜索 而不是从包含预查的字符之后开始
(?!pattern)
负向预查 在任何不匹配 pattern 的字符串开始处匹配查找字符串 这是一个非获取匹配 也就是说 该匹配不需要获取供以后使用 例如 Windows (?! | |NT| ) 能匹配 Windows 中的 Windows 但不能匹配 Windows 中的 Windows 预查不消耗字符 也就是说 在一个匹配发生后 在最后一次匹配之后立即开始下一次匹配的搜索 而不是从包含预查的字符之后开始
x|y
匹配 x 或 y 例如 z|food 能匹配 z 或 food (z|f)ood 则匹配 zood 或 food
[xyz]
字符集合 匹配所包含的任意一个字符 例如 [abc] 可以匹配 plain 中的 a
[^xyz]
负值字符集合 匹配未包含的任意字符 例如 [^abc] 可以匹配 plain 中的 p
[a z]
字符范围 匹配指定范围内的任意字符 例如 [a z] 可以匹配 a 到 z 范围内的任意小写字母字符
[^a z]
负值字符范围 匹配任何不在指定范围内的任意字符 例如 [^a z] 可以匹配任何不在 a 到 z 范围内的任意字符
\\b
匹配一个单词边界 也就是指单词和空格间的位置 例如 er\\b 可以匹配 never 中的 er 但不能匹配 verb 中的 er
\\B
匹配非单词边界 er\\B 能匹配 verb 中的 er 但不能匹配 never 中的 er
\\cx
匹配由 x 指明的控制字符 例如 \\cM 匹配一个 Control M 或回车符 x 的值必须为 A Z 或 a z 之一 否则 将 c 视为一个原义的 c 字符
\\d
匹配一个数字字符 等价于 [ ]
\\D
匹配一个非数字字符 等价于 [^ ]
\\f
匹配一个换页符 等价于 \\x c 和 \\cL
\\n
匹配一个换行符 等价于 \\x a 和 \\cJ
\\r
匹配一个回车符 等价于 \\x d 和 \\cM
\\s
匹配任何空白字符 包括空格 制表符 换页符等等 等价于 [ \\f\\n\\r\\t\\v]
\\S
匹配任何非空白字符 等价于 [^ \\f\\n\\r\\t\\v]
\\t
匹配一个制表符 等价于 \\x 和 \\cI
\\v
匹配一个垂直制表符 等价于
\\x b 和 \\cK
\\w
匹配包括下划线的任何单词字符 等价于 [A Za z _]
\\W
匹配任何非单词字符 等价于 [^A Za z _]
\\xn
匹配 n 其中 n 为十六进制转义值 十六进制转义值必须为确定的两个数字长 例如 \\x 匹配 A \\x 则等价于 \\x & 正则表达式中可以使用 ASCII 编码
\\num
匹配 num 其中 num 是一个正整数 对所获取的匹配的引用 例如 ( )\\ 匹配两个连续的相同字符
\\n
标识一个八进制转义值或一个向后引用 如果 \\n 之前至少 n 个获取的子表达式 则 n 为向后引用 否则 如果 n 为八进制数字 ( ) 则 n 为一个八进制转义值
\\nm
标识一个八进制转义值或一个向后引用 如果 \\nm 之前至少有 nm 个获得子表达式 则 nm 为向后引用 如果 \\nm 之前至少有 n 个获取 则 n 为一个后跟文字 m 的向后引用 如果前面的条件都不满足 若 n 和 m 均为八进制数字 ( ) 则 \\nm 将匹配八进制转义值 nm
\\nml
如果 n 为八进制数字 ( ) 且 m 和 l 均为八进制数字 ( ) 则匹配八进制转义值 nml
\\un
匹配 n 其中 n 是一个用四个十六进制数字表示的 Unicode 字符 例如 \\u A 匹配版权符号 (?)
cha138/Article/program/net/201311/13978相关参考
本篇文章是对js中正则表达式的使用进行了详细的分析介绍需要的朋友可以参考下 js中的正则表达式比起C#中的正则表达式要弱很多但基本够用了定义正则表达式关于验证的三个这则表达式方法正则表达
C#正则表达式整理备忘(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ()择一匹配C#正则
C#正则表达式整理备忘(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有一段时间正则表达式
C#使用正则表达式去除html标记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C#使用正则表
C#正则表达式整理备忘(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ()回溯与非回溯
VisualC#2005中使用正则表达式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 正则表达
C#验证邮件的正则表达式的代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 验证输入的正确性
C#正则表达式判断输入日期格式是否正确 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ///&l
C#中正则表达式进行忽略大小写的字符串替换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在C#
JAVA正则表达式4种常用的功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!正则表达式在字符串处