我正在寻找一种模式来提取c ++注释和注释本身的字符串。问题是,左侧也可以包含单个斜杠。
示例:
"abc/def//comment"
因此,我希望有2个小组,其中包含评论的左侧和评论本身:
有什么建议吗?
答案 0 :(得分:2)
假设您正在逐行处理文件,这个正则表达式将按您的要求执行:
((?:(?!//).)*)(//.*)
或简单地说:
(.*?)(//.*)
即,第1组包含abc/def
,第2组包含//comment
。
请注意,如果此操作失败,请使用字符串文字和多行注释(仅列出两个陷阱):
"a string with // in it"
/*
// not a comment!
*/
答案 1 :(得分:0)
echo "abc/def//comment" | sed -r 's|(.*)//(.*)|\1 //\2|'
abc/def //comment
多条斜线怎么样? Strings里面的评论还可以吗?