Javascript试图使用string.replace()和正则表达式来获取列表值
Javascript trying to use string.replace() with regex for list value
我想做一个指定的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');
你正在做的是一个字符串替换,所以它将搜索一个精确的字符串匹配,而不是一个正则表达式匹配
相关文章:
- 使用正则表达式获取特定的 href 值
- Javascript 正则表达式.获取图像源
- Javascript 正则表达式:获取最后两个段,用点除
- 通过正则表达式获取数字
- 使用正则表达式获取多个单词,单词之间留有空格
- 使用正则表达式获取类
- 使用 JavaScript 正则表达式获取所有没有 HTML 标签的单词
- 正则表达式获取两个字符串之间的所有字符串
- 正则表达式:获取 Kleene-star 表达式中每个匹配项的匹配值
- 正则表达式 - 获取引号之间的字符
- 如何使用正则表达式获取两个特定字符串之间的字符串
- 正则表达式获取两个字符之间的所有内容
- 正则表达式 - 获取特定字符 (#) 后的所有字符
- 正则表达式获取 / 和 / 之间的 URL 中的最后一个单词
- 使用正则表达式获取 $ 符号前的数字
- 正则表达式获取具有不同协议的域
- 如何使用正则表达式获取第一个和最后一个单词
- 正则表达式获取任何类型的所有数字
- 如何使用正则表达式获取主域字符串
- 使用正则表达式获取第二个括号内容