2013-07-23 84 views
0

我有这个字符串:捕获所有与特定规则匹配的字符串从

var x = '<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title></title> 
    </head> 
    <body> 
     <a href="{url}">This is an example of url with the URL keyword</a> 
     <p>This is another keyword: {link1}</p> 
    </body> 
</html>' 

我想和所有{} CHR比赛一个阵列。像这样的规则:

每个字有10个字符最大长度由包裹{和}在X,加入阵列

我认为这是可以使用正则表达式来完成,但我是新来的正则表达式并不知道如何去做。

任何想法?

回答

6

这里有一种方法:

var arr = x.match(/{\w{1,10}}/g); 
// ["{url}", "{link1}"] 
+0

是不是'{'和'}'特殊的正则表达式字符? – Ian

+0

@Ian他们是,但不是在这种情况下。 – VisioN

+0

有趣。它是否工作,因为没有前面的字符? – Ian

1

试试这个

var results = x.match(/\{\w{1,10}\}/g) 

告诉我,如果它的工作原理

+2

你错过了'g',因此这将只返回第一场比赛,OP想要他们所有... – Teemu

+0

谢谢,我觉得这是缺乏经验显示,我从来没有使用'g' – pythonian29033

相关问题