我尝试编写一个.NET正则表达式来识别"参数"用我的代码语言:
例如,在我的代码语言中,我有这一行,但一般不要认为这是一种代码语言,这是一个字符串行...
SET A = MyFUNC (@param1,@param2) #this is a in-line comment and this 2 parameter not wil be recognized @param3 @param4
我需要匹配@param1
和@param2
作为我语言中的参数。
我需要使用.NET正则表达式执行搜索。 这可能吗?
答案 0 :(得分:0)
正则表达式是这样的:
var rx = new Regex(@"(?<!#.*)@[A-Za-z0-9_]+");
var res = rx.Matches(str).OfType<Match>().ToArray();
它会在#之前为每个参数返回一个匹配项,但正如我在评论中告诉你的那样,它具有如此原始性,以至于具有俱乐部的穴居人比较现代。
它会查找@ + letters/numbers/_
前面没有#
((?<!#.*)
)。