整理正则表达式

  1. ? 通配符匹配文件名中的 0 个或 1 个字符,而 * 通配符匹配零个或多个字符

例子:/?a/ 可以匹配字符串:aa 1a a
/*a/ 可以匹配字符串: adsfa 1223a a

  1. + 号代表前面的字符必须至少出现一次(1次或多次)
  1. () 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用
  1. . 匹配除换行符 \n 之外的任何单字符
  1. /^[0-9]+abc$/
    ^ : 为匹配输入字符串的开始位置
    [0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。
    abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置

例子 : 123abc 8789000abc
不能匹配:(123dsabc)

  1. /^[a-z0-9_-]{6,18}$/
    匹配a-z 字符,0-9数子,下划线_ ,连接符- ,6-18位字符串

例子:abc12_3- 090redf_99 123456 abcdefg
不能匹配:adf(不够六位) fds123$(含有不包含的特殊字符)

7.非打印字符

  • \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
  • \f 匹配一个换页符。等价于 \x0c 和 \cL。
  • \n 匹配一个换行符。等价于 \x0a 和 \cJ。
  • \r 匹配一个回车符。等价于 \x0d 和 \cM。
  • \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。
  • \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
  • \t 匹配一个制表符。等价于 \x09 和 \cI。
  • \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

8.限定符

  • 除了 * , ? , + 之外 ,还有 {n} , {n,},{n,m}

  • {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

  • {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。

  • {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

  • *、+ 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

9.定位符

  • ^ 匹配输入字符串开始的位置
  • $ 匹配输入字符串结尾的位置
  • \b 匹配一个单词边界,即字与空格间的位置。
  • \B 非单词边界匹配,(边界的匹配不了)

10.选择

圆括号将选择项括起来,各选项用 | 分隔。但是() 会使相关的匹配被缓存。可以使用?: 、 ?= 、?! (非捕获源)放在第一个选项前来使得它不被缓存。

  1. 反向引用
例子:
 var str = "Is is the cost of of gasoline going up up";
var patt1 = /\b([a-z]+) \1\b/ig;
document.write(str.match(patt1));
匹配出的结果是: Is is,of of,up up
  • \1 指定第一个子匹配项
  • g 正则表达式后面的全局标记 g 指定将该表达式应用到输入字符串中能够查找到的尽可能多的匹配
  • i 不区分大小写
例子:
var str = "http://www.runoob.com:80/html/html-tutorial.html";
var patt1 = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
arr = str.match(patt1);
for (var i = 0; i < arr.length ; i++) {
    document.write(arr[i]);
    document.write("
"); } //第一个括号子表达式包含 http //第二个括号子表达式包含 www.runoob.com //第三个括号子表达式包含 :80 //第四个括号子表达式包含 /html/html-tutorial.html
  • [] 里匹配的元素前面带上 ^ 表示匹配除了[]中的元素之外的元素
  • \w 匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。
  • \W 匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'。
  • \d 匹配一个数字字符。等价于 [0-9]。
  • \D 匹配一个非数字字符。等价于 [^0-9]。

汉字:^[\u4e00-\u9fa5]{0,}$

你可能感兴趣的:(整理正则表达式)