Javascript 如何修改我下面的正则表达式?
我有一个正则表达式Javascript 如何修改我下面的正则表达式?,javascript,regex,Javascript,Regex,我有一个正则表达式/\{([^\{\}]+)\}/,它在最里面的{}中查找文本 它匹配最里面的{}中的任何文本 但是现在,我有一个新的要求,当它是一个循环时,它应该只匹配{}之间的文本 也就是说,它前面应该加上for(.*)或while(.*)和do 如何修改我的正则表达式,使其仅在前面有上述内容时匹配 注意:我原来的正则表达式的用途不应该被破坏 Javascript解决方案也很受欢迎。您可以这样做 var match = code.match(/(?:(for|while|do)\s*\([^
/\{([^\{\}]+)\}/
,它在最里面的{}
中查找文本
它匹配最里面的{}
中的任何文本
但是现在,我有一个新的要求,当它是一个循环时,它应该只匹配{}
之间的文本
也就是说,它前面应该加上for(.*)
或while(.*)
和do
如何修改我的正则表达式,使其仅在前面有上述内容时匹配
注意:我原来的正则表达式的用途不应该被破坏
Javascript解决方案也很受欢迎。您可以这样做
var match = code.match(/(?:(for|while|do)\s*\([^\{\}]*\))\s*\{([^\{\}]+)\}/);
如果match
不为空,则它将包含
- 在索引1处,的
或
而
- 在索引2中,您的内部循环内容
do
?如果你想添加do
,请使用/(?:(for | while | do)\s*([^\{}]*\)\s*{([^\{}]+)\/
编辑你的答案,否则有人可能会因为与答案不匹配而投反对票。将在5分钟内接受您的回答:)