欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

正则表达式 博客分类: Technology & Theory 正则表达式XMLF#HTML 

程序员文章站 2024-03-18 08:23:58
...

1, . 匹配任何一个单个字符

 

2, [ ] 匹配字符集合中的任何一个字符

    例如:[abcd], [a-z], [a-zA-Z0-9]

    \w 匹配字母、数字和下划线_, \W相反

    \d  匹配数字,等价于[0-9], \D相反

    \s  匹配一个空白符,等价于[\f\n\t\v],不包括\b,\S相反

 

3, 重复匹配

    +: 匹配一个或多个字符 
    *: 匹配零个或多个字符 
    ?: 匹配零个或一个字符 


    {6} 设定重复匹配的次数 
    {2,6} 设定重复匹配次数的区间 
    {3,} 设定重复匹配次数的最小值 

 

    例如:[\w.]+@[\w.]+\.\w+  配配mail地址

         #[0-9A-Fa-f]{6}  匹配RGB颜色值 

 

    "懒惰型"元字符: *?/,  +?, {n, }? , 以匹配"<b>ab</b> and <b>cd</b>"这样的字符串

 

4, 位置匹配

    \b 匹配一个单词的边界,例如:\bcar\b 将匹配字符串中所有的单词car,但是不匹配 scatter 这样的单词。

    \B 不匹配一个单词边界,例如:\B-\B 将匹配一个前后都不是单词边界的连接符。

    ^ 定义字符串的开头; $ 定义字符串的结尾。

    例如:要确定一个文本是XML,合法的XML是以一个XML的声明开头的,<?xml version="1.0" encoding="UTF-8" ?>, 正则表达式为:^\s*<\?xml.*\?>

    </html>标签之后不应该有任何实际内容,模式应该为:</[Hh][Tt][Mm][Ll]>\s*$

 

    分行模式匹配,使用?m来启用分行模式匹配,例如:(?m)^\s*//.*$, 可以匹配文本中 // 开头的文本。

 

   $1, ..., $9属性:表示用圆括号括着的匹配子串。 

re = /(\w+)\s(\w+)/; 
str = "John Smith"; 
newstr=str.replace(re,"$2, $1"); 
document.write(newstr);

document.write('<br/>'); 
newstr=str.replace(re,"$1"); 
document.write(newstr);

document.write('<br/>'); 
newstr=str.replace(re,"$2"); 
document.write(newstr);