javascript - 使用正则表达式跨度包装 cout 的 "<<"的多次出现

标签 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/

最佳答案

您的问题是正则表达式中的 semicolon 也在 < 特殊字符中找到了分号。

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

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

jsFiddle Demo

关于javascript - 使用正则表达式跨度包装 cout 的 "<<"的多次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548174/

相关文章:

javascript - 何时使用 this.props.children 以及为什么

regex - Perl 正则表达式问题

python - 转义 linux 路径和文件名中的空格

Java 替换字符串开头和结尾的所有 $ 符号

java - 在双引号外的逗号上拆分。如果是单引号则忽略双引号

java - 如何使用字符串规范解析字符串?

javascript - 尝试在同一个 div 上执行两个 onclick 操作时出错

javascript - 如何在 Angular 可见时刷新组件

javascript - Angular 2在指向根路由器的子节点中添加routerLink

javascript - 在 Three.js 中从 Web Worker 加载纹理