簡體   English   中英

正則表達式:獲取任何東西之前

[英]Regex: Get anything before

我正在編寫自己的.INI文件閱讀器,並使其在盡可能多的情況下可擴展和固定。

維基說某些程序使用';' 用分號表示注釋,有些使用'#'哈希。

我試圖利用Regex刪除任何行的值的注釋,這就是我想出的;

這是INI文本文件:

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

實踐中的代碼:

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

哪個有效! 但是只能得到第二和第三行。

正向超前的'(?=; |#“)',我將如何使其成為可選內容(例如,僅當它包含';'或'#'然后對其進行子串化時),希望我的目標是明確的,如果沒有讓我知道。

您可以這樣使用:

^[^;#]*

這將匹配所有非 或從字符串開頭的#個字符開始。 如果; 或#不存在,所有內容都會匹配。 否則,最多只能匹配字符; 要么 #。

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

^[^;#]+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM