0

我正在寻找一种模式来提取 C++ 注释左侧的字符串和注释本身。问题是,左侧也可以包含一个斜杠。

例子:

"abc/def//comment"

因此,我希望有 2 个组,其中包含评论的左侧和评论本身:

  1. abc/def
  2. //评论

有什么建议么?

4

2 回答 2

2

假设您正在逐行处理文件,则此正则表达式将执行您想要的操作:

((?:(?!//).)*)(//.*)

或者简单地说:

(.*?)(//.*)

即,第 1 组包含abc/def,第 2 组包含//comment

请注意,当字符串文字和多行注释失败时(仅举两个陷阱):

"a string with // in it"

/*
// not a comment!
*/
于 2011-03-23T15:29:03.620 回答
0
echo "abc/def//comment" | sed -r 's|(.*)//(.*)|\1 //\2|'
abc/def //comment

多对斜线呢?字符串中的注释可以吗?

于 2011-03-23T15:34:50.270 回答