正则表达式

1、基础语法

/ ... / 正则开始和结尾分隔符,JS特有

gi 全局匹配找到一个不停止,忽略大小写

( ... ) 捕获分组

 

 

2、实例

截取url文件名

let name = url.substring(url.lastIndexOf('/') + 1).split(/[?&]/)[0];

 

处理<img>标签src属性的token值,有则替换为新值,没有则增加

let token = "&Token=" + getStore({name: 'Token'});
let handleSrc = function (pre, src, post) {
    if (/Token=/.test(src)) {
        src = src.replace(/((?:&amp;|&|\?)Token=)[^&]*/gi, function (match, separator) {
            return separator + tokenValue;
        });
    } else {
        let separator = src.indexOf('?') !== -1 ? '&' : '?';
        src += separator + token.substring(1);
    }
    return pre + src + post;
};
content = content.replace(/(<img\b[^>]*?\bsrc\s*=\s*")([^"]*?)("[^>]*>)/gi, function (match, pre, src, post) {
    return handleSrc(pre, src, post);
});

第一捕获组

\b 单词边界,保证img是完成单词

[^>]*?

 

posted @ 2026-10-15 14:41  谷粒-笔记  阅读(3)  评论(0)    收藏  举报