我正在寻找一种模式来提取 C++ 注释左侧的字符串和注释本身。问题是,左侧也可以包含一个斜杠。
例子:
"abc/def//comment"
因此,我希望有 2 个组,其中包含评论的左侧和评论本身:
- abc/def
- //评论
有什么建议么?
我正在寻找一种模式来提取 C++ 注释左侧的字符串和注释本身。问题是,左侧也可以包含一个斜杠。
例子:
"abc/def//comment"
因此,我希望有 2 个组,其中包含评论的左侧和评论本身:
有什么建议么?
假设您正在逐行处理文件,则此正则表达式将执行您想要的操作:
((?:(?!//).)*)(//.*)
或者简单地说:
(.*?)(//.*)
即,第 1 组包含abc/def
,第 2 组包含//comment
。
请注意,当字符串文字和多行注释失败时(仅举两个陷阱):
"a string with // in it"
/*
// not a comment!
*/
echo "abc/def//comment" | sed -r 's|(.*)//(.*)|\1 //\2|'
abc/def //comment
多对斜线呢?字符串中的注释可以吗?