问个正则分组

swordman123 2015-03-26 11:31:44
IF THE FARE COMPONENT INCLUDES TRAVEL BETWEEN HND AIRPORT
AND SEL
ON DIRECT FLIGHTS
OUTBOUND -
PERMITTED 201PM TO MIDNIGHT DAILY ON THE FIRST
INTERNATIONAL SECTOR.
INBOUND -
PERMITTED 1201AM TO 200PM DAILY DEPARTURE OF LAST
INTERNATIONAL SECTOR.
OTHERWISE
PERMITTED 1201AM TO MIDNIGHT DAILY.

我想分成两组
A:
IF THE FARE COMPONENT INCLUDES TRAVEL BETWEEN HND AIRPORT
AND SEL
ON DIRECT FLIGHTS
OUTBOUND -
PERMITTED 201PM TO MIDNIGHT DAILY ON THE FIRST
INTERNATIONAL SECTOR.
INBOUND -
PERMITTED 1201AM TO 200PM DAILY DEPARTURE OF LAST
INTERNATIONAL SECTOR.

B:
PERMITTED 1201AM TO MIDNIGHT DAILY.

这样的正则,解析不出来。
(?<A>\s+.*)\sOTHERWISE(?<B>\s+.*)
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordman123 2015-03-26
  • 打赏
  • 举报
回复
想要这种效果 string reg = @"(?<A>\s+.*)\sOTHERWISE(?<B>\s+.*)"; var arr = Regex.Matches(str, reg, RegexOptions.IgnoreCase); foreach (Match item in arr) { Console.WriteLine("A:" + item.Groups["A"]); Console.WriteLine("============================="); Console.WriteLine("b:" + item.Groups["B"]); } Console.ReadLine();
  • 打赏
  • 举报
回复
(.*)[\n\r]*OTHERWISE[\n\r]*(.*)
看错你的要求了,这个才是
  • 打赏
  • 举报
回复
(.*SECTOR\.)(.*)
$1对应第一部分,$2对应第二部分
  • 打赏
  • 举报
回复
static void RegexChinese()
        {
            string txt = @"IF THE FARE COMPONENT INCLUDES TRAVEL BETWEEN HND AIRPORT                     
  AND SEL                                                                       
      ON DIRECT FLIGHTS                                                         
    OUTBOUND -                                                                  
      PERMITTED 201PM TO MIDNIGHT DAILY ON THE FIRST                            
      INTERNATIONAL SECTOR.                                                     
    INBOUND -                                                                   
      PERMITTED 1201AM TO 200PM DAILY DEPARTURE OF LAST                         
      INTERNATIONAL SECTOR.                                                     
  OTHERWISE                                                                     
    PERMITTED 1201AM TO MIDNIGHT DAILY.";
            var match = Regex.Match(txt, @"(?<A>[\s\S]*)OTHERWISE(?<B>[\s\S]*)");
            if (match.Success)
            {
                Console.WriteLine("A:" + match.Groups["A"].Value);
                Console.WriteLine("=============================");
                Console.WriteLine("b:" + match.Groups["B"].Value);
            }
        }

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧