rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Javascript

javascript RegExp 正则表达式

  • \b   匹配一个单词的开始或结束位置。如\bhello\b  [\b]退格直接量 匹配的是退格 符。   
  • .    用来匹配非换行符的任意字符。   
  • *    前面的内容可以连续重复使用任意次以使整个表达式得到匹配(0次或多次)。   
  • +    (1次或多次)。   
  • ?    重复0次或1次   
  • {n}  重复n次。   
  • {n,} 重复n次到更多次。   
  • {n,m}重复n次到m次。   
  • *?   重复多次,但尽可能少重复   
  • +?   重复1次或多次,但尽可能少重复。   
  • ??   重复0次或1次,尽可能少重复。   
  • {n,}? 重复n次到多次,但尽可能少重复。   
  • {n,m}? 重复n次到m次,但尽可能少重复。   
  • [a-z0-9A-Z_]如果只有英文的话跟\w一样。   
  • [.?!]匹配标点符号(.或?或!)。   
  •   
  • \d 匹配一个数字。   
  • \s 匹配任意空白符,包括空格,制表符,换行符,中文全角空格。   
  • \w 匹配字母,数字,下划线,汉字。   
  • ^  匹配字符串的开始。   
  • $  匹配字符串的结束。如是选中了多行选项,则^和$变为匹配行首和行尾。   
  •   
  • 反义   
  • \B 匹配不是单词开头或结束的位置。   
  • \D 匹配任意的非数字字符。   
  • \S 匹配任意的非空白字符。   
  • \W 匹配任意的不是字母,下划线,数字,汉字的字符。   
  • [^abc] 匹配除了abc以外的任意字符。   
  •   
  • 选择,分组,和引用字符   
  • |        选择。匹配的是该符号左边的子表达式或右边的子表达式。或 /\d{3}|[a-z]{4}/ 匹配的是三个数字或四个小写字母。   
  • (...)   组合。将几个项目组合为一个单元,这几个单元可由*,+,?和|使用,而且还可以记住和这个组合匹配的字符以供此后的引用使用。   
  • (?:...) 只组合。把项目组合到一个单元,但是并不记住与该组匹配的字符。   
  • \n      分组引用,从\1开始,组号是从左到右计数的左括号数(可能是嵌套的)。   
  •   
  • (?=P)   正前向声明,要求接下来的字符与模式P匹配。但是不包括匹配中的那些字符。   
  • (?!P)   反前向声明,要求接下来的字符不与模式P匹配。   
  •   
  • String与正则表达式有关方法   
  • search(reg) 返回第一个与之匹配的子串的开始位置,失败则返回-1;   
  • replace(regexp,replacement)   例:   
  •   var quote=/"([^"]*)"/g;   
  •   text.replace(quote,"``$1``");   
  •   第一个参数中有"/g",则全局替换,否则只替换第一个匹配的。第二个参数可以有子匹配。   
  • match(regexp) 若该正则表达式中有g,该方法返回的数组包含的就是字符串中的所有匹配。   
  •   若不是全局匹配,返回的数组第一个无素为匹配的字符串,其它元素是正则表达式中用括号括起来的子表达式。为了与replace保持一致,a[n]存放的是$n的内容。   
  •   返回的数组有length属性。如果match是作用与一个非全局的正则表达式,那么它返回的数组还有其它两个属性--index--input。index为匹配字符串的起始下标。input则为原字符串。对于没有g的match与reg.exec(s)的返回值相同。   
  • split(reg)    把字符串分隔为数组。分隔符与reg匹配。   
  •   
  • RegExp正则表达式方法。   
  • var reg=new RegExp(reg,flag)  两个参数为字符串,reg为正则表达式主体(表达式中的"\"应该被"\\"代替),flag为可选的。为"g","i","m"的组合。   
  •   如果检索字符串是用户输入的,不能表示为正则表达式直接量,此函数将显得重要。   
  • reg.exec(text)此方法与text.match(reg)中的reg没有g时返回值相同。   
  •  不同之处为,exec返回的数组类型相同,无论正则表达式是否有全局属性g。   
  •                               除了有index,和input属性外,reg还有lastIndex属性,被设置到紧接着匹配字符串的位置。   
  •                               reg第二次调用exec方法时,它将从字符串的lastIndex处开始检索。如果没有发现任何匹配,   
  •                               它将会把lastIndex重设为0(在任何时候你都可以将lastIndex设置为0,在放弃对原字符串检索面检索另一个字符串时,它将是   
  •                               必要的。)   
  •                               exec()的这一行为使得你可以反复调用exec()遍历一个字符串中的所有正则表达式匹配。   
  • reg.test(text)                调用test方法等价于调用exec方法(即返回值受lastIndex影响),如果exec方法返回值不为空,test将返回true。   
  •                               注意:(只有带有g的正则表达式才会发生这种特殊的lastIndex行为,没有g的正则表达式将会忽略lastIndex属性。)   
  • RegExp对象的五个实例属性:   
  • source:只读属性,存放正则表达式的文本。   
  • global,ignoreCase,multiline:只读属性,布尔值,分别对应是否有g,i,m标志。   
  • lastIndex:对于具有g的正则表达式,这个属性存储了字符串中下一次开始检索的位置。 
  • 顶一下
    (0)
    踩一下
    (0)