精华内容
下载资源
问答
  • 需求:获取所有title里的内容正则表达式后面加g表示匹配方式一:match返回数组方式二execvar str='OOOT BAORJCT 174296 22mm 10yard/lot cartoon Ribbons...OOOT BAORJCT 174296 22mm 10yard/lot cartoon ...

    需求:获取所有title里的内容

    正则表达式后面加g表示多次匹配

    方式一:match

    返回数组

    方式二

    exec

    var str='OOOT BAORJCT 174296 22mm 10yard/lot cartoon Ribbons...OOOT BAORJCT 174296 22mm 10yard/lot cartoon Ribbons...';

    var reg=/title="(.*?)">/g;

    var res = str.match(reg);

    console.log(str.match(reg));

    while( res = reg.exec(str))

    {

    console.log(res[1]);

    }

    效果

    4a67595bee976c54392e82c6c98c813a.png

    总结

    以上所述是小编给大家介绍的js正则匹配多个全部数据问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    展开全文
  • 所谓贪婪匹配就是匹配重复字符是尽可能匹配,非贪婪匹配就是尽可能少的匹配,下面通过一例子给大家分享JavaScript正则表达式的贪婪匹配和非贪婪匹配,感兴趣的朋友参考下吧
  • 主要介绍了js正则匹配多个全部数据问题,本文通过两种方式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • js正则表达式匹配多个条件

    万次阅读 2019-05-09 10:29:09
    var str = "巫峡粉丝 WuXiaFenSi 酸辣粉 火锅粉 豌豆粉丝 suan_la_fen huo_guo_fen wan_dou_fen_si 023-91781688"; var reg = /酸辣粉|火锅粉|豌豆粉丝/g; var result = str.match(reg); console.log(result);...
    var str = "巫峡粉丝 WuXiaFenSi 酸辣粉 火锅粉 豌豆粉丝 suan_la_fen huo_guo_fen wan_dou_fen_si 023-91781688";
    
    var reg = /酸辣粉|火锅粉|豌豆粉丝/g; 
    var result = str.match(reg);
    console.log(result);

    输出结果:

    展开全文
  • 一个分组中,可以有多个候选表达式,用|分隔: var reg = /I love (him|her|it)/; reg.test('I love him') // true reg.test('I love her') // true reg.test('I love it') // true reg.test('I love them') // ...
  • 今天刚学了关于JavaScript 正则表达式的模式匹配,下面总结了一些知识点和大家分享一下~(适合初学者) 1、正则表达式的定义  JavaScript中的正则表达式用RegExp对象表示,可用RegExp()构造函数创建RegExp对象。...

    今天刚学了关于JavaScript 正则表达式的模式匹配,下面总结了一些知识点和大家分享一下~(适合初学者)


    1、正则表达式的定义

            JavaScript中的正则表达式用RegExp对象表示,可用RegExp()构造函数创建RegExp对象。正则表达式直接量定义为包含在一对斜杠(/)之间的字符。

    var pattern = /s$/;  //匹配所有以字母“s”结尾的字符串
    //等价于:
    var pattern = new RegExp(“s$”);


    1.1 直接量字符

        非字母的字符匹配,这些字符需通过反斜线(\)作为前缀进行转义。

    正则表达式的直接量字符

      字符

      匹配

      字母和数字字符

    自身

      \o

    NUL字符(\u0000

      \t

    制表符(\u0009

      \n

    换行符(\u000A

      \v

    垂直制表符(\u000B

      \f

    换页符(\u000C

      \r

    回车符(\u000D

      \xnn

    由十六进制数nn指定的拉丁字符,例如:\x0A等价于\n

      \uxxxx

    有十六进制数xxxx指定的Unicode字符,例如:\u0009等价于\t

      \cX

    控制字符^X,例如:\cJ等价于换行符\n


        特殊标点符号:

            ^ $ . * + ? = ! : | \ / ( ) [ ] { }


    1.2 字符类(character class

        将直接量字符单独放进方括号内组成了字符类:[直接量字符]

             "^"符号:定义否定字符类

    例子:

    /[abc]/  //和字母“a”、“b”、“c”中的任意一个匹配。
    /[^abc]/  //匹配的是“a”、“b”、“c”之外的所有字符
    /[a-z]/  //匹配拉丁字母表中的小写字母
    /[a-zA-Z0-9]/  //匹配拉丁字母表中任何字母和数字
    正则表达式的字符类
    字符匹配
      [...]

    方括号内的任意字符

      [^...]

    不在方括号内的任意字符

      .

    除换行符和其他Unicode行终止符之外的任意字符

      \w

    任何ASCII字符组成的单词,等价于[a-zA-Z0-9]

      \W

    任何不是ASCII字符组成的单词,等价于[^a-zA-Z0-9]

      \s

    任何Unicode空白符

      \S

    任何非Unicode空白符的字符,注意\w\S不同

      \d

    任何ASCII数字,等价于[0-9]

      \D

    除了ASCII数字之外的任何字符,等价于[^0-9]

      [\b]

    退格直接量(特例)

        \b:在字符类中,表示退格符。/[\b]/


    1.3 重复

    正则表达式的重复字符语法
    字符含义
      {n,m}

    匹配前一项至少n次,但不能超过m

      {n,}

    匹配前一项n次或者更多次

      {n}

    匹配前一项n

      ?

    匹配前一项0次或者1次,也就是说前一项是可选的,等价于{0,1}

      +

    匹配前一项1次或者多次,等价于{1,}

      *

    匹配前一项0次或者多次,等价于{0,}

    例子:

    /\d{2,4}/   //匹配2~4个数字
    /\w{3}\d?/   //精确匹配三个单词和一个可选的数字
    /\s+java\s+/   //匹配前后带有一个或者多个空格的字符串”java”
    /[^(]*/   //匹配一个或多个非左括号的字符

        非贪婪的重复:在待匹配的字符后跟随一个问号,如:“??”、“+?”、“*?”或者“{1,5}?”。

    例子:

        当使用“aaa”作为匹配字符串时,/a+/会匹配它的三个字符,/a+?/只能匹配第一个a


    1.4 选择、分组和引用

     “|”:用于分割供选择的字符。

     “()”圆括号的作用:

        1、把单独的项组合成子表达式,以便可以像处理一个独立的单元那样用“ | ”、“ * ”、“ + ”或者“ ? ”等来对单元内的项进行处理。例如:

    /java(script)?/     //可以匹配字符串“java”,其后可有“script”也可没有。
    /(ab|cd)+|ef/    //可以匹配“ef”,也可以匹配“ab”或“cd”的一次或多次的重复。
        2、在完整的模式中定义子模式。如:

    /[a-z]+(\d+)/     //可以从检索到的匹配中抽取数字。
        3、允许在同一正则表达式的后部引用前面的子表达式。通过在字符“ \”后加一位或多位数字来实现。这个数字指定了带圆括号的子表达式在正则表达式中的位置。注意:因为子表达式可以嵌套另一个子表达式,所以它的位置是参与计算的左括号的位置。如:

    \1     //引用的是第一个带圆括号的子表达式。

        正则表达式中前一个子表达式的引用,指的是与那个模式相匹配的文本的引用。

        在正则表达式中不用创建带数字编码的引用,也可以对子表达式进行分组,以“(?:”和“)”来进行分组,这种改进的圆括号并不生成引用。

    正则表达式的选择、分组和引用字符
    字符含义
       |

    选择,匹配的是该符号左边的子表达式或右边的子表达式

       (...)  

    组合,将几个项组合为一个单元,这个单元可通过*”、“+”、“?”和“|”等符号加以修饰,而且可以记住和这个组合相匹配的字符串以供此后的引用使用

       (?...) 

    只组合,把项组合到一个单元,但不记忆与该组相匹配的字符

       \n   

    和第n个分组第一次匹配的字符相匹配,组是圆括号中的子表达式(也有可能是嵌套的),组索引是从左到右的括号数,“(?:”形式的分组不编码


    1.5 指定匹配的位置

        \b匹配一个单词的边界。像\b这样的元素不匹配某个可见的字符,它们指定匹配发生的合法位置。这些元素为正则表达式的锚,它们将模式定位在搜索字符串的特定位置上。

        任意正则表达式都可以作为锚点条件。

    正则表达式中的锚字符
    字符含义
        ^   

    匹配字符串的开头,在多行检索中,匹配一行的开头

        $   

    匹配字符串的结尾,在多行检索中,匹配一行的结尾

        \b   

    匹配一个单词的边界,简言之,就是位于单词\w\W中间的位置,或位于字符\w和字符串的开头或者结尾之间的位置

    (注意:[\b]匹配的是退格符)

        \B   

    匹配非单词边界的位置

     (?=p)

    零宽正向先行断言,要求接下来的字符都与p匹配,但不能包括匹配p的那些字符

     (?!p) 

    零宽负向先行断言,要求接下来的字符不与p匹配

    例子:

    /[Jj]ava([Ss]cript)?(?=\:)/ 
    //可以匹配“JavaScript:The Definitive Guide”中的“JavaScript”,但不能匹配“Java in a Nutshell”中的“Java”,因为它后面没有冒号。


    1.6 修饰符

    正则表达式修饰符
    字符含义
       i 

    执行不区分大小写的匹配

       g 

    执行一个全局匹配,简言之,即找到所有的匹配,而不是在找到第一个之后就停止

       m 

    多行匹配模式,^匹配一行的开头和字符串的开头,$匹配行的结束和字符串的结束



    2、用于模式匹配的String方法

     String支持4中正则表达式的方法:

      1、search():参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配的子串将返回-1

                 如果参数不是正则表达式,会先通过RegExp构造函数将它转换成正则表达式,search()方法不支持全局检索。

    "JavaScript".search(/script/i);  //返回值为4.
      2、replace():用以执行检索与替换操作。第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。

    例子:

    //将所有不区分大小写的javascript都替换成大小写正确的JavaScript
    text.replace(/javascript/gi,"JavaScript");

        如果在替换字符串中出现了$加数字,那么replace()将用与指定的子表达式相匹配的文本来替换这两个字符。

    //一段引用文本起始于引号,结束于引号
    //中间的内容区域不能包含引号
    var quote = /"([^"]*)"/g;
    //用中文半角引号替代英文引号,同时要保持引号之间的内容(存储在$1中)没有被修改
    text.replace(quote,'"$1"');

        replace()方法的第二个参数可以是函数,该函数能够动态地计算替换字符串。

      3、match()方法:唯一参数是一个正则表达式(或通过 RegExp()构造函数将其转换为正则表达式),返回的是一个有匹配结果组成的数组。如歌正则表达式设置了修饰符 g,则该方法返回的数组包含字符串中的所有匹配结果。如:

    "1 plus 2 equals 3",match(/\d+/g);  //返回["1","2","3"]

        如果正则表达式没有设置修饰符gmatch()就不会进行全局检索,只检索第一个匹配。

        如果match()返回一个数组a,那么a[0]存放的是完整的匹配,a[1]存放的则是与第一个圆括号括起来相匹配的子串,以此类推。为了和方法replace()保持一致,a[n]存放的是$n的内容。

        例子:使用如下的代码来解析一个URL:

    var url = /(\w+):\/\/([\w.]+)\/(\S*)/;
    var text = "Visit my blog at http://www.example.com/~david";
    var result = text.match(url);
    if(result != null){
        var fullurl = result[0];  //包含"http://www.example.com/~david"
        var protocol = result[1];  //包含"http"
        var host = result[2];  //包含"www.example.com"
        var path = result[3];  //包含"~david"
    }
      4、s plit()方法

        String对象的最够一个和正则表达式相关的方法是split()

        Split():将字符串拆分为一个子串组成的数组,使用的分隔符是split()的参数。参数也可以是一个正则表达式。

    "123,456,789".split(",");  //返回["123","456","789"]
    "1, 2, 3, 4, 5".split(/\s*,\s*/);  //返回["1","2","3","4","5"]


    3、RegExp对象

        RegExp()用以创建新的RegExp对象。第一个参数包含正则表达式的主体部分,第二个参数可选,第二个参数是指定正则表达式的修饰符,只能传入gim或它们的组合。

     注意:不论是字符串直接量还是正则表达式,都使用”\”字符作为转义字符的前缀。

    如:

    //全局匹配字符串中的5个数字,注意这里使用了"\\",而不是"\"
    var zipcode = new RegExp("\\d{5}","g");

      如果待检索的字符串是由用户输入的,就必须使用RegExp()构造方法,在程序运行时创建正则表达式。


    3.1、RegExp的属性

      每个RegExp对象都包含5个属性:

          source:只读,包含正则表达式的文本;

          global:只读的布尔值,说明正则表达式是否带修饰符g

          ignoreCase:只读的布尔值,说明正则表达式是否带修饰符i

          multiline:只读的布尔值,说明正则表达式是否带修饰符m

          lastIndex:可读/写的整数。



    展开全文
  • $div_see = $this.parent().parent().children(".l_see"); var path = $div_see.children("a").attr("href"); var reg=new RegExp("_[0-9]+.... path = path.replace(reg,"_"+"此处为要匹配的随意变量"+".htm");
    		$div_see = $this.parent().parent().children(".l_see");
    		var path = $div_see.children("a").attr("href");
    		var reg=new RegExp("_[0-9]+.htm$","g"); 
    		path = path.replace(reg,"_"+"此处为要匹配的随意变量"+".htm");	
    		$div_see.children("a").attr("href",path);


    $ 以什么结尾

    /g 不是匹配第一个,是匹配所有的

    展开全文
  • js正则匹配多个全部数据

    万次阅读 2019-09-04 10:07:03
    正则表达式后面加g表示匹配 方式一:match 返回数组 方式二 exec <script> var str='<a href="//...
  • JavaScript正则表达式的模式匹配引言正文一、正则表达式定义 引言 其实我写这篇文章的话,主要是想自己重新复习一遍正则表达式。我们也知道正则表达式在很语言中都是通用的,所以学好这好处很。接下来,就跟我...
  • javascript正则表达式提取子匹配

    万次阅读 2017-03-21 11:26:21
    C#里所用的正则表达式,如果要提取字符串里的子匹配项(我都不知道那个叫啥名字,别名?)是很方便的,比如:Regex rx = new Regex(@"(?[\s\S]+)?</title>", RegexOptions.Compiled | RegexOptions.IgnoreCase); ...
  • 关于匹配字符串问题,有很种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写语法高亮练手,所以用js代码当作例子
  • js正则里的分组匹配

    千次阅读 2019-02-25 12:08:55
    参考博文 ...var str = 'kid is kid' var reg = /(\w{3}) is \1/ reg.test(str) == true 这里的正则表达式里的'\1'相当于前面的 (\w{3}) =&gt;即一分组;...表示匹配的第一分组; var str = 'aaaab...
  • Javascript正则支持向后引用,即在正则式中使用已经匹配到的子串。什么意思呢?先看问题:我要一个正则匹配2080-02-26和2080.02.26这两时间格式,怎么写呢?/^\d+[.\-]\d+[.\-]\d+$/显然是不行的,因为它也...
  • js 正则表达式 动态参数匹配

    千次阅读 2020-01-06 16:02:22
    但是表达式都是用户自己设计的,参数也都是动态的,这时候一般就要考虑到匹配,比如还牵扯到主表,子表,会有字段重复问题(表不一样,字段是允许重复的),这时候我们就需要使用到动态匹配正则了。 const obj =...
  • {x,} 匹配任何包含至少x前导字符串 $ 匹配字符串的行尾 ^ 匹配字符串的行首 | 匹配字符串的左边或者右边 () 包围一字符分组或定义反引用,可以使用\1\2提取 元字符 语法 描述 [a-z] 匹配任何...
  • 0、URL格式 protocol :// hostname[:port] / path / [;parameters][?query]#fragment ...parameters]没见过 这里就不做相关匹配了 ... // URL地址匹配格式: protocol :// hostname[:port] / p...
  • 所谓贪婪匹配就是匹配重复字符是尽可能匹配,比如: "aaaaa".match(/a+/); //["aaaaa", index: 0, input: "aaaaa"] 非贪婪匹配就是尽可能少的匹配,用法就是在量词后面加上一“?”,比如: "aaaaa".match...
  • 这是阅读《JavaScript正则表达式迷你书》后整理的一些笔记。 正则表达式是匹配模式,可以匹配字符,可以匹配位置。 下面主要介绍匹配字符的情况,匹配位置的情况我也正在学习中。 两种模糊匹配: 1.横向模糊匹配:一...
  • js正则匹配多个img链接 <script language="JavaScript"> <!-- var s='...<img src="image1.gif" width="100">.abc.<img height="100px" src="image2.gif">...'...
  • 最近在阅读RequireJS 2.1.15源码,源码开始处定义了一系列的变量,有4个正则表达式: var commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg, cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]...
  • 正则表达式04-匹配多个字符

    万次阅读 2018-09-08 16:20:45
    匹配多个字符 匹配多个字符的相关格式 字符 功能 * 匹配前一个字符出现0次或者无限次,即可有可无 + 匹配前一个字符出现1次或者无限次,即至少有1次 ? 匹配前一个字符出现1次或者0次,即要么有1...
  • 正则表达式是匹配模式(match pattern): 要么匹配字符, 要么匹配位置 正则表达式字符匹配攻略 主要内容: 在量词后面加上 ? 表示惰性匹配(亦称作惰性量词) 两种模糊匹配 字符组 量词(+ 惰性匹配) 分支...
  • 熟悉正则的朋友都知道,正则匹配有“贪婪”和“非贪婪”之分。 “贪婪”匹配是尽可能多的匹配: 对于字符串‘aaaa’, ...考虑下面这个正则表达式:/a+b/,它匹配一个或多个a,以及一个b。 使用...
  • 正则表达式是匹配模式, 要么匹配字符,要么匹配位置 正则表达式位置匹配攻略 在使用环视的时候, 位置确定了可以通过位置来匹配位置后面(一般es5就是后面)的字符 字符确定了,就可以通过字符来匹配字符前面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,996
精华内容 35,598
关键字:

js正则多个条件匹配