我有许多不同格式的输入字符串,我需要将输入字符串分成3个部分。以下几个例子(虽然有几种可能性):
1A1 = 1,A,1
123AA44 = 123,AA,44
AA44 =空,AA,44
44AA = 44,AA,空
这些部分的附加限制:
我已经使用下面的代码结束了我的正则表达式知识。它适用于每个场景,除非输入中的3个部分中的一个留空。需要一些帮助!感谢。
Regex regex = new Regex("(?<Section1>[0-9]{1,4})(?<Section2>[a-zA-Z]{1,3})(?<Section3>[0-9a-zA-Z]{1,4})");
Match match = regex.Match(inputString);
string 1 = match.Groups["Section1"].Value;
string 2 = match.Groups["Section2"].Value;
string 3 = match.Groups["Section3"].Value;
答案 0 :(得分:2)
你试过这个吗?
Regex regex = new Regex("(?<Section1>[0-9]{0,4})(?<Section2>[a-zA-Z]{0,3})(?<Section3>[0-9a-zA-Z]{1,4})");
答案 1 :(得分:0)
为每个部分添加一个可选项应该足够了 我将规则添加到第3部分,以数字
开头Regex regex = new Regex("(?<Section1>[0-9]{1,4})?(?<Section2>[a-zA-Z]{1,3})?(?<Section3>[0-9][0-9a-zA-Z]{0,3})?");