我想匹配以斜杠开头(/),但不包括斜杠,然后以分号(;)结尾的正则表达式咋个写。我写出来不是很满意
var regExp = /\/(.*)\;/;
var str = 'data:image/jpeg;base64,';
let a = str.match( regExp)
console.log(a);
输出来是
0: "/jpeg;"
index: 10
input: "data:image/jpeg;base64,"
groups: undefined
length: 1
它包括斜杠了。但是我不想让他包括斜杠
怎么处理
match()返回的结果是一个结构变量,如果匹配失败,则返回null;
返回的结果中包括index,length等。其中0对应的是匹配的全字符,>=1 对应的是括号中的部分,如果有N个括号,length则为N+1。分别对应全匹配字符,以及后续每个括号的值。
所以针对你的问题,可以稍作改动如下:
var regExp = /\/(.*)\;/;
var str = 'data:image/jpeg;base64,';
let a = str.match(regExp);
if (a) {
console.log(a[0]);
console.log(a[1]);
}
-----------
/jpeg;
jpeg
感谢了