正则表达式参数:JavaScript 正则表达式使用详细参数来源: 发布时间:星期日, 2009年9月6日 浏览:58次 评论:0
正则表达式构造: RegExp("pattern"[,"flags"]);
参数介绍说明: pattern -- 个正则表达式文本 flags -- 如果存在将是以下值: g: 全局匹配 i: 忽略大小写 gi: 以上组合 在构造中些特殊需要进行转意(在特殊前加"\")正则表达式中特殊: 含意 \ 转意即通常在"\"后面不按原来意义解释如/b/匹配"b"当b前面加了反斜杆后/\b/转意为 匹配个单词边界 -或- 对正则表达式功能还原如"*"匹配它前面元0次或多次/a*/将匹配a,aa,aaa加了"\"后/a\*/ 将只匹配"a*" ^ 匹配个输入或行开头/^a/匹配"an A"而不匹配"An a" $ 匹配个输入或行结尾/a$/匹配"An a"而不匹配"an A" * 匹配前面元0次或多次/ba*/将匹配b,ba,baa,baaa + 匹配前面元1次或多次/ba*/将匹配ba,baa,baaa ? 匹配前面元0次或1次/ba*/将匹配b,ba (x) 匹配x保存x在名为$1...$9变量中 x|y 匹配x或y {n} 精确匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 集(character )匹配这个集合中任个(或元) [^xyz] 不匹配这个集合中任何个 [\b] 匹配个退格符 \b 匹配个单词边界 \B 匹配个单词非边界 \cX 这儿X是个控制符/\cM/匹配Ctrl-M \d 匹配个字数/\d/ = /[0-9]/ \D 匹配个非字数/\D/ = /[^0-9]/ \n 匹配个换行符 \r 匹配个回车符 \s 匹配个空白包括\n,\r,\f,\t,\v等 \S 匹配个非空白等于/[^\n\f\r\t\v]/ \t 匹配个制表符 \v 匹配个重直制表符 \w 匹配个可以组成单词(alphanumeric这是我意译含数字)包括下划线如[\w]匹配"$5.98" 中5等于[a-zA-Z0-9] \W 匹配个不可以组成单词如[\W]匹配"$5.98"中$等于[^a-zA-Z0-9] 说了这么多了我们来看些正则表达式实际应用例子: HTML代码屏蔽 function mask_HTMLCode(strInput) { var myReg = /<(\w+)>/; strInput.replace(myReg, "<$1>"); } E-mail地址验证: function test_email(strEmail) { var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; (myReg.test(strEmail)) true; false; } 正则表达式对象属性及思路方法: 预定义正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9其中input和multiline可以预设置其他属性值在执行过exec或test思路方法后被根据 区别条件赋以区别值许多属性同时拥有长和短(perl风格)两个名字并且这两个名字指向同个值( JavaScript模拟perl正则表达式) 正则表达式对象属性: 属性 含义 $1...$9 如果它(们)存在是匹配到子串 $_ 参见input $* 参见multiline $& 参见lastMatch $+ 参见lastParen $` 参见leftContext $'' 参见rightContext constructor 创建个对象个特殊原型 global 是否在整个串中匹配(bool型) ignoreCase 匹配时是否忽略大小写(bool型) input 被匹配串 lastIndex 最后次匹配索引 lastParen 最后个括号括起来子串 leftContext 最近次匹配以左子串 multiline 是否进行多行匹配(bool型) prototype 允许附加属性给对象 rightContext 最近次匹配以右子串 source 正则表达式模式 lastIndex 最后次匹配索引 正则表达式对象思路方法: 思路方法 含义 compile 正则表达式比较 exec 执行查找 test 进行匹配 toSource 返回特定对象定义(literal representing)其值可用来创建个新对象重载Object.toSource思路方法得到 toString 返回特定对象串重载Object.toString思路方法得到 valueOf 返回特定对象原始值重载Object.valueOf思路方法得到 例子: <script language = "JavaScript"> var myReg = /(w+)s(w+)/; var str = "John Smith"; var str = str.replace(myReg, "$2, $1"); document.write(str); </script> 将输出"Smith, John" 0
相关文章读者评论发表评论 |