正则表达式提取多个值

时间:2014-02-13 04:59:48

标签: javascript regex

/[.#]\s*([^{\s]*)\s*{/将获取#或之间的文本。和{。 我试图在#或之间提取文本。和{以及{和}之间的文本。我相信它与下面的表达相似。

var productText = '#id {} .class {}';
var m, r = /([.#]\s*([^{\s]*)\s*{)(([^{]*)}/)/g;

2 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式来获取#和{}之间的部分

^\#(\S+\s+)\{\}.*
  

注意:我只在Perl中尝试过正则表达式。         另外,对于正则表达式的剩余部分,我只是简单地放了。*而不是提取它。

答案 1 :(得分:-1)

String.split通常更容易用于提取,即使这样,清理助手也很有用:

var productText = '#id {123} .class {456}';
var m, r = /(:?[.#])([\w\W]+?)\s*\{([\w\W]+?)\s*\}/g;

productText.split(r).slice(2,-1).filter(/./.test, /\w/)
// output array: ["id", "123", "class", "456"]