admin管理员组文章数量:1356904
From this string:
dfasd {{test}} asdhfj {{te{st2}} asdfasd {{te}st3}}
I would like to get the following substrings:
test, te{st2, te}st3
In other words I want keep everything inside double curly braces including single curly braces.
I can't use this pattern:
{{(.*)}}
because it matches the whole thing between first {{ and last }}:
test}} asdhfj {{te{st2}} asdfasd {{te}st3
I managed to get the first two with this regex pattern:
{{([^}]*)}}
Is there any way to get all three using regex?
From this string:
dfasd {{test}} asdhfj {{te{st2}} asdfasd {{te}st3}}
I would like to get the following substrings:
test, te{st2, te}st3
In other words I want keep everything inside double curly braces including single curly braces.
I can't use this pattern:
{{(.*)}}
because it matches the whole thing between first {{ and last }}:
test}} asdhfj {{te{st2}} asdfasd {{te}st3
I managed to get the first two with this regex pattern:
{{([^}]*)}}
Is there any way to get all three using regex?
Share Improve this question edited Mar 14, 2018 at 15:06 eugenesqr asked Mar 14, 2018 at 14:37 eugenesqreugenesqr 5796 silver badges19 bronze badges 1-
1
Try
{{(.*?)}}
– ctwheels Commented Mar 14, 2018 at 14:42
2 Answers
Reset to default 11Try {{(.*?)}}
.
.*?
means to do a lazy / non greedy search => as soon as }} matches, it will capture the found text and stop looking. Otherwise it will do a greedy search and therefore start with the first {{ and end with the very last }}.
This isn't that pretty, but it doesn't use RegEx and makes it clear what you are trying to acplish.
const testString = 'dfasd {{test}} asdhfj {{te{st2}} asdfasd {{te}st3}}';
const getInsideDoubleCurly = (str) => str.split('{{')
.filter(val => val.includes('}}'))
.map(val => val.substring(0, val.indexOf('}}')));
console.log(getInsideDoubleCurly(testString));
本文标签: javascriptGet values inside double curly braces with regexStack Overflow
版权声明:本文标题:javascript - Get values inside double curly braces with regex - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744004039a2574375.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论