正则的截取匹配问题求助

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

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

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

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

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

split('static')[1] 这样的吗? 还是必须用正则?

str.slice(str.search(/static/));

正则应该用 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}`);
    });

'srcmainwebappstaticca7ecd95-aa95-4da8-b369-92b66b566958icon.png'.split('static')[1]

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

// Output: 
[
  "static\\ca7ecd95-aa95-4da8-b369-92b66b566958\\icon.png"
]

这个问题的亮点:

clipboard.png

var url='src\\main\\webapp\\static\\ca7ecd95-aa95-4da8-b369-92b66b566958\\icon.png';
var p=/\bstatic\b.*$/;
var result=url.match(p)[0];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题