[英]Regex to match full lines of text excluding crlf
正則表達式模式如何匹配給定文本的每一行?
我正在嘗試^(.+)$
但它包括crlf ...
只需使用RegexOptions.Multiline 。
多線模式。 更改^和$的含義,使它們分別在任何行的開頭和結尾匹配,而不僅僅是整個字符串的開頭和結尾。
例:
var lineMatches = Regex.Matches("Multi\r\nlines", "^(.+)$", RegexOptions.Multiline);
我不確定“匹配給定文本的每一行”是什么意思,但你可以使用一個字符類來排除CR和LF字符:
[^\r\n]+
你的問題的措辭似乎有點不清楚,但聽起來你想要RegexOptions.Multiline
(在System.Text.RegularExpressions
命名空間中)。 這是您必須在RegEx對象上設置的選項。 這應該使^
和$
匹配一行的開頭和結尾而不是整個字符串。
例如:
Regex re = new Regex("^(.+)$", RegexOptions.Compiled | RegexOptions.Multiline);
你有沒有嘗試過:
^(.+)\r?\n$
這樣匹配組包括除CRLF之外的所有內容,並且要求存在新行(Unix默認值),但接受前面的回車符(Windows默認值)。
我假設您正在使用Multiline選項? 在這種情況下,您需要明確地將換行符與“\\ n”匹配。 (視情況用“\\ r \\ n”代替。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.