正则表达式:以前得到任何东西

时间:2015-12-01 04:07:39

标签: c# regex ini

我正在编写自己的.INI文件阅读器,并使其尽可能广泛和固定,以便在许多情况下工作。

维基说某些程序使用';'分号用于注释,有些使用'#'哈希。

我正在尝试使用正则表达式删除对任何行的价值的评论,这是我提出的内容;

这是INI文本文件:

t1 = t2
t3 = t4 ;test
t5 = t6 #test

实践中的代码:

value = Regex.Match(value, ".*(?=;|#");

哪个有效!但只能获得第二和第三行。

积极前瞻'(?=; |#“)',我如何让它成为可选项?(例如,只有当它包含';'或'#'然后将其子串)时,希望我的目标明确,如果不让我知道。

1 个答案:

答案 0 :(得分:2)

你可以使用这个:

^[^;#]*

这将匹配每个非;或字符串开头的#字符。如果;或#不存在,一切都将匹配。否则它只匹配字符;或#。

如果您不想匹配空行,请使用:

^[^;#]+