zoukankan      html  css  js  c++  java
  • 原生JavaScript---正则表达式

    JavaScript 中正则的性能比想象中的低很多。能用字符串方法搞定的,尽量别用正则。------玉伯

    抛开性能不谈,一起来看看正则表达式怎么用吧!

    先看看JavaScript正则表达式中一些特殊字符的含义:

    字符 含义
    ^ 匹配以某些字符开头的字符串
    $ 匹配以某些字符结尾的字符串
    ? 匹配出现0次或1次的字符或字符串
    * 匹配出现0次或n次的字符或字符串
    + 匹配出现1次或n次的字符或字符串
    {n} 精确匹配出现n次的字符或字符串
    {n,} 匹配出现>=n次的字符或字符串
    {n,m} 匹配出现 >=n次  and  <=m次 的字符或字符串
    . 匹配除了换行符外的字符
    [...] 匹配括号里的任意字符
    [^...] 匹配除了括号里的字符外的任意字符
     匹配一个单词的边界
    B 匹配一个单词的非边界
    d 匹配数字0-9
    D 匹配任何非数字的字符
    w 匹配 a-z  A-Z  0-9  _ 
    W 匹配 非字母、非数字、非下划线
    匹配换行符
    s 匹配空格符
    S 匹配非空格符
    匹配Tab
    字符 含义
    g 全局匹配
    m 多行匹配
    i 忽略大小写

    1.看是否匹配 test()

    如果匹配返回true  不匹配则返回false

    示例:

    //<![CDATA[
    var str="PrimitiveJavaScript is my JavaScript Special column.";
    var pattern1=/Java/;
    document.write(pattern1.test(str));
    document.write("<br/>");
    var pattern2=/java/;
    document.write(pattern2.test(str));
    //--><!]]>


    结果:


    2.返回匹配的值 exec()

    示例:

    //<![CDATA[
    var str="PrimitiveJavaScript is my JavaScript Special column.";
    var pattern=/JavaScript/;
    document.write(pattern.exec(str));
    //--><!]]>


    结果:

    JavaScript

    3.返回匹配的数组 match()

    示例:

    //<![CDATA[
    var str="PrimitiveJavaScript is my JavaScript Special column.";
    var pattern=/JavaScript/g;  //全局匹配
    var result=str.match(pattern);
    document.write(result[0]);
    document.write("<br/>");
    document.write(result[1]);
    //--><!]]>


    结果:


    掌握这三个方法,再加上字符串的知识,就可以处理各种各样的问题啦。

    还是要多加练习,融会贯通。

    就写到这了。

     

    我的新浪微博:X--zhang

    专栏地址:原生JavaScript

    欢迎吐槽,欢迎拍砖!

    文 / X--zhang

  • 相关阅读:
    从零开始入门 K8s | 应用编排与管理
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    203. Remove Linked List Elements
    183. Customers Who Never Order
    182. Duplicate Emails
    181. Employees Earning More Than Their Managers
    1261. Find Elements in a Contaminated Binary Tree
    1260. Shift 2D Grid
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3241146.html
Copyright © 2011-2022 走看看