我不想仅针对此特定问题学习正则表达式。 我需要通过C ++文件找到一些'/ * N * /'注释。 有人可以写一个找到这样评论的正则表达式吗?
答案 0 :(得分:2)
试试这个正则表达式:
/\/\*(.*?)\*\//
这是它的工作原理:
\/ <- The / character (escaped because I used / as a delimiter)
\* <- The * character (escaped because it's a special character)
( <- Start of a group
. <- Any character
* <- Repeated but not mandatory
? <- Lazy matching
) <- End of the group
\* <- The * character
\/ <- The / character
修改:它不处理\n
也不处理\r\n
,如果您希望它使用m
标记考虑@Alex answer。
答案 1 :(得分:2)
怎么样?
/\/\*(.+?)\*\//m
$1
将是您的意见。
希望m
模式修饰符也会使句点(全部匹配)与新行(\n
)匹配。
注意+
表示它只会匹配至少一个字符的评论 - 因为看起来你想知道评论本身,这没关系(0长度评论的用途是什么)?
但是,如果您想知道总评论数据块,请将+
(1或更多)更改为*
(0或更多)。
另外,为什么不试试正则表达式呢?它起初很棘手,因为语法看起来很有趣,但它们非常强大。
答案 2 :(得分:0)
怎么样:(?&lt; = \ / *)(。*?)(?= * \ /)
使用lookbehinds和lookaheads并捕获注释文本(否则删除。*周围的parens,而不是捕获)。确保使用多行搜索,因为这些是多行注释
答案 3 :(得分:0)