我有一个正则表达式/\{([^\{\}]+)\}/
,用于查找最内层 {}
中的文字。
它匹配最里面的{}
内的任何文字。
但是现在,我有一个新的要求,它应该只匹配{}
之间的文本,当它是一个循环时。
这应该在for(.*)
或while(.*)
和do
之前。
如果我的正则表达式只有前面的那个才能修改我的正则表达式?
注意:我原来的正则表达式的目的不应该破坏。
欢迎使用Javascript解决方案。
答案 0 :(得分:1)
你可以做到
var match = code.match(/(?:(for|while|do)\s*\([^\{\}]*\))\s*\{([^\{\}]+)\}/);
如果match
不为空,则会包含
for
或while