Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
757 views
in Technique[技术] by (71.8m points)

javascript - Get values inside double curly braces with 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try {{(.*?)}}.

.*? 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 }}.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...