雷格斯:之前什么都可以
本文关键字:什么 都可以 雷格斯 | 更新日期: 2023-09-27 18:25:12
我正在编写自己的.INI文件读取器,并使其尽可能扩展和固定,以便在许多情况下工作。
维基说有些程序使用";"分号表示注释,有些使用"#"散列。
我正试图利用Regex来删除对任何行值的评论,以下是我的想法;
这是INI文本文件:
t1 = t2
t3 = t4 ;test
t5 = t6 #test
实践中的代码:
value = Regex.Match(value, ".*(?=;|#");
这确实有效!但只得到第二和第三条线。
积极的前瞻性'(?=;|#")',我该如何使其可选?(比如,只有当它包含';'或'#',然后用子字符串表示),希望我在这里的目标是明确的,如果不让我知道的话。
您可以使用以下内容:
^[^;#]*
这将匹配每一个非;或字符串开头的#字符。如果或#不存在,则所有内容都将匹配。否则,它将只匹配最多为;或#。
如果您不想匹配空行,请使用:
^[^;#]+