正则表达式

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

元字符

正则表达式通过元字符和一些普通字符来构成字符串来表示一些用来表达对字符串的一种过滤逻辑,可用于搜索文本。 元字符类型及描述如下:

正则表达式实例应用

  1. 匹配中文字符的正则表达式: [/u4e00-/u9fa5]

  2. 匹配双字节字符(包括汉字在内):[^/x00-/xff]

  3. 计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^/x00-/xff]/g,”aa”).length;}

  4. 匹配空行的正则表达式:/n[/s ]*/r
  5. 匹配HTML标记的正则表达式:/<(.)>.<///1> <(.*) //>/
  6. 匹配首尾空格的正则表达式:(^/s*) (/s*$)
  7. 验证身份证号(15位):”\d{14}[[0-9],0-9xX]”,(18位):”\d{17}[[0-9],0-9xX]”

  8. 验证Email地址:(“^\w+([-+.]\w+)@\w+([-.]\w+)\.\w+([-.]\w+)*$”)

  9. 只能输入由数字和26个英文字母组成的字符串:(“^[A-Za-z0-9]+$”)

  10. 整数或者小数:^[0-9]+([.][0-9]+){0,1}$

  11. 只能输入汉字:”^[\u4e00-\u9fa5]{0,}$”

  12. 验证一个月的31天:”^((0?[1-9]) ((1 2)[0-9]) 30 31)$”正确格式为;”01”~”09”、”10”~”29”和“30”~“31”
  13. 验证URL:”^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$”

  14. 匹配ip地址:([1-9]{1,3}\.){3}[1-9]

  15. 验证是否含有^%&’,;=?$"等字符:”[%&’,;=?$\\^]+”