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

    1.概念

    正则表达式是对 字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。  给定一个正则表达式和另一个字符串,我们可以达到如下的目的:  (1). 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);(  2). 可以通过正则表达式,从字符串中获取我们想要的特定部分。  正则表达式的特点是:  (1). 灵活性、逻辑性和功能性非常的强;(  2). 可以迅速地用极简单的方式达到字符串的复杂控制。(  3.) 对于刚接触的人来说,比较晦涩难懂。  由于正则表达式主要 应用对象是文本,因此它在各种 文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

    2.理解

    正则表达式就是一个模板一种规则,我们需要建立一种规则,由我们自己定义。操作对象是字符串。具有检索、替换的功能。首先我们得建立我们的正则,然后去用我们的正则去过滤字符串。

    3.javascript

    检查字符串中是否含有某个字符,如“a”(不管是几个都看作一个整体,严格区分大小写)

    var reg=new RegExp("a");
    var result=reg.test("c@ab");
    console.log(result);

    忽略大小写的写法

    var reg=new RegExp("A","i");
    var result=reg.test("bc@a");
    console.log(result);

    另一种写法

     var reg=/a/i;                  //reg=/a/;
    var result=reg.test("bc@a");
    console.log(result);

    或的过滤

    var reg=/a|b/;
    var result=reg.test("bc@a");
    console.log(result);

    或的另一种写法

    var reg=/[ab]/;
    var result=reg.test("c@a");
    console.log(result);

    //表示或的一种范围。[A-Z]任意大写字母都可以;[a-z]表示任意小写字母都可以;[A-z]表示任意字母都可以;[0-9]

    //reg=/[a-z]/;

    // var result=reg.test("c@a");

    // console.log(result);

    检查字符串是否有abc或aec或adc

    var  reg=/abc|adc|aec/;
    var result=reg.test("abc");
    console.log(result);
    var reg=/a[bde]c/;
    var result=reg.test("abc");
    console.log(result);

    除了##都行的表达方法(找de之外的存在即可

    var reg=/[^de]/;
        var result=reg.test("dcfv");
    console.log(result);

    4.字符串和正则的使用

    var str="3f445g55h";
    var result=str.split(/[a-z]/);
    console.log(result);

     var str="3f445g55h";
    var result=str.search(/445/);
    console.log(result);

    var str="3f445g55h";
    var result=str.match(/[a-z]/);
    console.log(result);

     

     5.全局表达式

     str="ssd234g4";
     result=str.match(/[A-z]/g);
     console.log(result);

     str="ssd234gB4";
       result=str.replace(/[a-z]/g,"@");
      console.log(result);

    6.多种匹配模式(顺序我所谓)

    str="ssd234gB4";
      result=str.match(/[a-z]/gi);
     console.log(result);

     7.量词

     reg=/a{2}/;
       result=reg.test("abaa");
       console.log(result);

    reg=/ab{2}/;    //只对b起作用
       result=reg.test("abba");
       console.log(result);

     reg=/ab{1,2}c/;       //b出现一次或者两次都可以
       result=reg.test("abbc");
       console.log(result);

     reg=/ab{2,}c/;    //2次以上
       result=reg.test("abbbc");
       console.log(result);

     reg=/^a$/;    //既是以a开头,又以当下a结尾,所以只能是一个a
       result=reg.test("aaa");
       console.log(result);

    8.点

     reg=/./;
     result=reg.test("ab");
     console.log(result);

     9.斜杠(都要用转义字符)(在构造函数里需要使用两个斜杠,因为在构造函数里斜杠只是一个字符)

     reg=/\/;
       result=reg.test("a\b");
       console.log(result);

    10.去除字符串开头结尾的空格

     str="    a  dddd   ";
       str=str.replace(/^s*|s*$/g,"");
    console.log(str);

    11.可以网上搜索常用的正则表达式,然后按照自己的要求更改即可。

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/S-Mustard/p/7599294.html
Copyright © 2011-2022 走看看