我无法让我的正则表达式匹配c#代码文件的标头。 我基本上需要返回标题,如果它存在。
示例:
#define debug
//****************************************************************************************************
// <copyright file="" company="">
// Copyright (c) . All rights reserved.
// </copyright>
// <project>Engine</project>
//****************************************************************************************************
code here
//some other comment here
more code here
//another comment here
我的正则表达式如下:
(?:/\\*(?:[^*]|(?:\\*\+[^*/]))*\\*\+/)|(?://.*)
但它只匹配此行: // * ** * ** * ** * ** * < / EM> ** * ** * ** * ** * ** * < / EM> ** * ** * ** * ** * ** * < / EM> ** * ** * ** * ** * ***
而不是评论的其余部分。
评论也可以像"*/"
一样结束。
我的正则表达式错了吗?为什么不赶上整个街区?
答案 0 :(得分:1)
试试这个 - 然后你可以拿出整个评论(用“//”或其中的组来获取文本。这将返回每行的匹配。请使用“Multiline”选项运行这样:
^/[/|*](.+)$
答案 1 :(得分:1)
需要多线
(^\/\/.*?$|\/\*.*?\*\/)
答案 2 :(得分:0)
我想你想要提取伪xml代码,以便下面的表达式可以工作。请注意,您仍然必须删除每行中的前导“//”。
//\*+\n((?://.*\n)+)//\*+
答案 3 :(得分:0)
使用正则表达式模式:(/ *([^ ] | [\ r \ n] |(* +([^ /] | [\ r \ n]))) * + /)|(//.)
查看更多https://code.msdn.microsoft.com/How-to-find-code-comments-9d1f7a29/