我希望将所有文本放在大括号内。
请看下面的变量值:
var str = "Hi {my} name {is} dev {garcia}";
我想获得如下数组;
var extractedwords = [my,is,garcia]
我想,在这里我应该使用正则表达式来提取用大括号括起的所有字符串,然后将all全部推入数组。
我需要有关正则表达式操作的帮助,以查找用大括号括起来的字符串。
请帮忙!
答案 0 :(得分:4)
"Hi {my} name {is} dev {garcia}".match(/[^{]+(?=\})/g)
正则表达式说:
[^{]+
- 在一次和无限次之间匹配任何不是“{”的任何字符,尽可能多次,根据需要回馈(贪婪)
(?=\})
- 断言匹配以“}”结尾而不实际收集字符(正向前瞻),这里因为你在[]
(一组)之外你必须逃避{{ 1}}说:}
运行它会产生:
\}
答案 1 :(得分:2)
你可以用正则表达式来完成。
答案 2 :(得分:0)
试试这个:
"Hi {my} name {is} dev {garcia}".match(/([^}{]+)(?=})/g);
它基本上意味着“匹配任何不是'{'或'}'的字符集(1或更多),直到你达到'}'(但排除}}
函数match()
在字符串上运行并接受RegEx类型的对象
要了解有关正则表达式的更多信息,我建议您阅读: http://www.javascriptkit.com/javatutors/redev2.shtml
然后转到javascript控制台(在浏览器开发人员工具中)并使用这些命令。