现在的位置: 首页 > 综合 > 正文

JS中正则表达式所缺少的匹配模式(单行模式)

2013年03月06日 ⁄ 综合 ⁄ 共 490字 ⁄ 字号 评论关闭

单行模式允许小数点(.)匹配包括换行符(\n)在内的任意字符(出自Regex Match Tracer).

依据<<Microsoft Windows 脚本技术>>chm文档中所言:

小数点(.)匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

正则表达式对象模式仅有如下三种:

g (全文查找出现的所有 pattern)

i (忽略大小写)

m (多行查找)

即没有单行匹配模式

但chm文档中所说要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式是错误的


(以下摘自:关于正则表达式:如何匹配所有字符)


  小数点(

.)一量进入[]中间就变成真的小数点了(\.)

   

  不信可以这样测试:  

  asdfasdf<span   style="font-size:   22px">asdfasdf</span>asdfasdf  

  正则表达式:  

  <span   style=\"font-size\:   22px\">[^.]+</span>  

  就可以匹配成功  

最终结果应该用(.|\n)或(.|\n)

手册上说   [.\n]   表示任意字符是误人子弟,错误的(也是原话,呵呵)

抱歉!评论已关闭.