首页 新闻 会员 周边

我想匹配以斜杠开头(/),但不包括斜杠,然后以分号(;)

0
[待解决问题]

我想匹配以斜杠开头(/),但不包括斜杠,然后以分号(;)结尾的正则表达式咋个写。我写出来不是很满意

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

它包括斜杠了。但是我不想让他包括斜杠
怎么处理

南风晚来晚相识的主页 南风晚来晚相识 | 初学一级 | 园豆:49
提问于:2020-03-30 21:29
< >
分享
所有回答(1)
0

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
。淑女范erり | 园豆:961 (小虾三级) | 2020-03-31 09:06

感谢了

支持(0) 反对(0) 南风晚来晚相识 | 园豆:49 (初学一级) | 2020-03-31 10:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册