簡體   English   中英

正則表達式匹配組之間的任意組合和數量的空格和換行符

[英]Regex to match any combination and number of whitespaces and linebreaks between groups

我正在為我的 .NET 程序 (C#) 尋找一個正則表達式,它忽略多個空格和換行符,以及匹配組之間的所有組合。

例如以下兩組之間可以有\\r \\n \\t或空格

([A-Z])([A-Z0-9<])

這是一些具有所需輸出的輸入:

P\n0 -> P0 
N\n\rF -> NF
A\rP -> AP
A\r[space][space][space]\nP -> AP
E\n\r\nF -> EF
N\t\rF -> NF
R\t\n\r[space]F -> RF
A\rP -> AP

您可以在組之間使用\\s* (0 個或多個空格),一旦匹配就加入捕獲的值:

var result = Regex.Matches(s, @"([A-Z])\s*([A-Z0-9<])")
        .Cast<Match>()
        .Select(x => $"{x.Groups[1].Value}{x.Groups[2].Value}")
        .ToList();

如果兩組之間必須至少有 1 個空格,請將*替換為+

如果您的空格字符僅限於特定列表,請將\\s*替換為[\\t\\r\\n ]* (或[\\t\\r\\n ]+ )以僅匹配您在問題中提到的空格。

暫無
暫無

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

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