首页 >社区问答列表 >javascript - 正则的截取匹配问题求助

javascript - 正则的截取匹配问题求助

src\main\webapp\static\ca7ecd95-aa95-4da8-b369-92b66b566958\icon.png

想截取从static开始的字符串,请问正则该如何写?感谢

也就是static\ca7ecd95-aa95-4da8-b369-92b66b566958\icon.png

另外由于url前半段可能会变动,所以最好还是用正则的好

  • 小葫芦
  • 小葫芦    2017-07-05 10:55:536楼

    var str='src\\main\\webapp\\static\\ca7ecd95-aa95-4da8-b369-92b66b566958\\icon.png';
    alert(str.replace(/^.*?(static.*?)$/ig, '$1'));

    +0添加回复

  • 回复
  • phpcn_u1582
  • phpcn_u1582    2017-07-05 10:55:533楼

    正则应该用 static.* 就可以,下面是参考代码

    const regex = /static.*/g;
    const str = `src\\main\\webapp\\static\\ca7ecd95-aa95-4da8-b369-92b66b566958\\icon.png`;
    let m;
    
    while ((m = regex.exec(str)) !== null) {
        // This is necessary to avoid infinite loops with zero-width matches
        if (m.index === regex.lastIndex) {
            regex.lastIndex++;
        }
        
        // The result can be accessed through the `m`-variable.
        m.forEach((match, groupIndex) => {
            console.log(`Found match, group ${groupIndex}: ${match}`);
        });

    +0添加回复

  • 回复
  • 曾经蜡笔没有小新
  • 曾经蜡笔没有小新    2017-07-05 10:55:531楼

    'src\\main\\webapp\\static\\ca7ecd95-aa95-4da8-b369-92b66b566958\\icon.png'.match(/static.*/)
    
    // Output: 
    [
      "static\\ca7ecd95-aa95-4da8-b369-92b66b566958\\icon.png"
    ]

    这个问题的亮点:

    +0添加回复

  • 回复