zoukankan      html  css  js  c++  java
  • js正则 (二)

    //    正则  匹配规则
    //1)点字符(.)
    //点字符(.)匹配除回车( )、换行( ) 、行分隔符(u2028)和段分隔符(u2029)以外的所有字符。

    //(2)位置字符
    //^ 表示字符串的开始位置
    //$ 表示字符串的结束位置
    // test必须出现在开始位置
    ///^test/.test('test123') // true

    // test必须出现在结束位置
    ///test$/.test('new test') // true

    // 从开始位置到结束位置只有test
    ///^test$/.test('test') // true
    ///^test$/.test('test test') // false

    //转义符
    //正则模式中,需要用斜杠转义的,一共有12个字符:^、.、[、$、(、)、|、*、+、?、{和\。
    // 需要特别注意的是,如果使用RegExp方法生成正则对象,
    // 转义需要使用两个斜杠,因为字符串内部会先转义一次。


    //字符类
    //如果方括号内的第一个字符是[^],则表示除了字符类之中的字符,其他字符都可以匹配。比如,[^xyz]表示除了x、y、z之外都可以匹配。
    //如果方括号内没有其他字符,即只有[^],就表示匹配一切字符,其中包括换行符,而点号(.)是不包括换行符的。

    //预定义模式
    //d 匹配0-9之间的任一数字,相当于[0-9]。
    //D 匹配所有0-9以外的字符,相当于[^0-9]。
    //w 匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]。
    //W 除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]。
    //s 匹配空格(包括制表符、空格符、断行符等),相等于[ vf]。
    //S 匹配非空格的字符,相当于[^ vf]。
    // 匹配词的边界。
    //B 匹配非词边界,即在词的内部。


    // s的例子
    ///sw*/.exec('hello world') // [" world"]
    //
    //// 的例子
    ///world/.test('hello world') // true
    ///world/.test('hello-world') // true
    ///world/.test('helloworld') // false
    //
    //// B的例子
    ///Bworld/.test('hello-world') // false
    ///Bworld/.test('helloworld') // true
    //表示词的边界,所以“world”的词首必须独立(词尾是否独立未指定),才会匹配
    //var html = "<b>Hello</b> <i>world!</i>";
    //
    ///[Ss]*/.exec(html)[0]
    // "<b>Hello</b> <i>world!</i>"
    //上面代码中,[Ss]指代一切字符。


    //重复类
    //模式的精确匹配次数,使用大括号({})表示。{n}表示恰好重复n次,{n,}表示至少重复n次,{n,m}表示重复不少于n次,不多于m次。

    //量词符
    //? 问号表示某个模式出现0次或1次,等同于{0, 1}。
    //* 星号表示某个模式出现0次或多次,等同于{0,}。
    //+ 加号表示某个模式出现1次或多次,等同于{1,}。

    //修饰符

    //g修饰符
    //
    //默认情况下,第一次匹配成功后,正则对象就停止向下匹配了。g修饰符表示全局匹配(global),
    //加上它以后,正则对象将匹配全部符合条件的结果,主要用于搜索和替换。

    //var regex = /b/g;
    //var str = 'abba';
    //
    //regex.test(str); // true
    //regex.test(str); // true
    //regex.test(str); // false
    //上面代码中,正则模式含有g修饰符,每次都是从上一次匹配成功处,
    //开始向后匹配。因为字符串“abba”只有两个“b”,所以前两次匹配结果为true,第三次匹配结果为false。

    //i修饰符
    //默认情况下,正则对象区分字母的大小写,加上i修饰符以后表示忽略大小写(ignorecase)。

    //m修饰符
    //m修饰符表示多行模式(multiline),会修改^和$的行为。默认情况下(即不加m修饰符时),
    //^和$匹配字符串的开始处和结尾处,加上m修饰符以后,^和$还会匹配行首和行尾,即^和$会识别换行符( )。
  • 相关阅读:
    sublime Text 正则替换
    sublime Text 正则替换
    C# 解析 sln 文件
    PHP array_flip() 函数
    PHP array_filter() 函数
    PHP array_fill_keys() 函数
    PHP array_fill() 函数
    PHP array_diff_ukey() 函数
    51nod1355 斐波那契的最小公倍数
    C# 解析 sln 文件
  • 原文地址:https://www.cnblogs.com/joesbell/p/6074240.html
Copyright © 2011-2022 走看看