如何修改我的下面的正则表达式?

时间:2014-03-16 06:18:55

标签: javascript regex

我有一个正则表达式/\{([^\{\}]+)\}/,用于查找最内层 {}中的文字。

它匹配最里面的{}内的任何文字。

但是现在,我有一个新的要求,它应该只匹配{}之间的文本,当它是一个循环时。

这应该在for(.*)while(.*)do之前。

如果我的正则表达式只有前面的那个才能修改我的正则表达式?

注意:我原来的正则表达式的目的不应该破坏。

欢迎使用Javascript解决方案。

1 个答案:

答案 0 :(得分:1)

你可以做到

var match = code.match(/(?:(for|while|do)\s*\([^\{\}]*\))\s*\{([^\{\}]+)\}/);

如果match不为空,则会包含

  • 在索引1处forwhile
  • 在索引2处您的内部循环内容