/[.#]\s*([^{\s]*)\s*{/
将获取#或之间的文本。和{。
我试图在#或之间提取文本。和{以及{和}之间的文本。我相信它与下面的表达相似。
var productText = '#id {} .class {}';
var m, r = /([.#]\s*([^{\s]*)\s*{)(([^{]*)}/)/g;
答案 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"]