Javascript试图使用string.replace()和正则表达式来获取列表值

Javascript trying to use string.replace() with regex for list value

本文关键字:正则表达式 获取 列表 replace string Javascript      更新时间:2023-09-26

我想做一个指定的regex

'/[lg|sm|md|xs]/'

将匹配或lg,或sm,或md或xs一次。

在javascript上我不能使它工作属性

var href = $(this).attr('href');
var t = href.replace('[lg]|[sm]|[md]|[sx]', 'add'); //not working
var t = href.replace('[lg|sm|md|sx]', 'add'); //not working
var t = href.replace('/[lg|sm|md|sx]/', 'add'); //not working
var t = href.replace('/lg|sm|md|sx/', 'add'); //not working

对于如下URL:

href="/img/galeria/lg/duplo-standart/foto1.jpg"

所有我需要的是替换为"lg"在href和更改为"add"。

感谢帮助

您需要使用正则表达式符号或对象,因此

var t = href.replace(/(lg|sm|md|sx)/, 'add');

var t = href.replace(new RegExp('(lg|sm|md|sx)'), 'add');

你正在做的是一个字符串替换,所以它将搜索一个精确的字符串匹配,而不是一个正则表达式匹配