dlr*_*as2 1 .net c# regex windows-xp
我正在编写一个使用正则表达式来匹配传入数据的程序.正则表达式在我正在编写的计算机上工作,但它在我正在测试的客户端计算机上不起作用.它可以在我的计算机上以调试模式,发布模式运行,并直接从垃圾箱运行.什么可能使正则表达式的工作方式不同?
正则表达式:
const string _pattern
= @"^(?:\x02)?([A-Z])(ST)([WS])([1-9])([ AM])([ NSEWIO])([- ]\d{6})([ M])([1CPN])(\w)?(?:\x0D)?$";
static readonly Regex _regex
= new Regex(_pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
Run Code Online (Sandbox Code Playgroud)
串:
@"ASTS2MI-000020 C0"
Run Code Online (Sandbox Code Playgroud)
可能你需要CultureInvariant:
static readonly Regex _regex
= new Regex(_pattern, RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.Compiled);
Run Code Online (Sandbox Code Playgroud)
正如在RegularExpressions命名空间中执行文化不敏感操作中所解释的那样,默认情况下不区分大小写的匹配Thread.CurrentCulture.