首页 > 解决方案 > 写正则表达式 c#

问题描述

写白俄罗斯出租车号码的正则表达式

1)地区代码(1到7的一个数字);

2)三个大写拉丁字母。对于“7”区域(明斯克),使用 TAX、TBX、TEX 组合,对于其他区域,当前仅使用 TAX、TBX;

3)单一空间;

4) 1 到 9999 的四位数字,前导零。

标签: c#

解决方案


你几乎明白了。尝试类似的东西

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        string text = "1TAX 1234\r\n7TEX 9876\r\n5TEX 9876\r\n4TBX 9876";
        string pattern = @"^(?:(?:[1-6]T[AB]X)|(?:7T[ABE]X))\s\d{4}";
        Regex r = new Regex(pattern, RegexOptions.Multiline);
        foreach (var m in r.Matches(text))
        {
            Console.WriteLine("> {0}", m.ToString());
        }
    }
}


推荐阅读