跨越包裹cout的“<<”的多次出现使用正则表达式

时间:2013-08-31 12:33:36

标签: javascript regex

我可以将cout一次性<<包裹起来,如下所示:

cout<< "hey"; abc cin>>x; cout<< "hey";abc cin>>x;

但是当它是这样的时候我无法正确包装它:

cout<< "hey" << "men";abc cin>>x; cout<< "hey" <<"men"; abc

正则表达式

text = text.replace(/(cout\s*(&lt;&lt;[^;]*)+;)/g, '<span class="group">$1</span>');

http://jsfiddle.net/3N4AE/23/

1 个答案:

答案 0 :(得分:2)

您的问题是,正则表达式中的semicolon还会在&lt;特殊字符中找到分号。

使用以下正则表达式修复:

/(cout\s*(&lt;&lt;.*?)[^(&lt;)];)/g

jsFiddle Demo