我需要从数字序列中间带有字母'A'的字符串中获取匹配,特别是16个字符。
示例输入和预期结果:
A4921000A05034816 => 4921000A05034816
4921000A05034816 => 4921000A05034816(相同,16个字符,15位数字和中间的'A')
4921000405034816 => 4921000405034816
我尝试过以下正则表达式:
@"[0-A-9]{16}"
在第一种情况下,它匹配第一个A,即使它不在序列的中间,这是不正确的。
提前感谢您的帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
看起来你想得到最后16个字符(需要确认)。如果我是对的,你只需要你的正则表达式的结束分隔符。
使用PCRE将为.*([0-9A]{16})$
。也许C#的结束分隔符不是$
答案 2 :(得分:0)
这个正则表达式适用于你的例子:
\d{7}(A|\d)\d{8}
如果'A'始终在8位置。
和
[\d][\dA]{15}
如果'A'可以在任何地方但不在第一个位置
答案 3 :(得分:0)
\d[\dA]{14}\d
这将匹配以数字开头和结尾的16个字符的字符串,并在中间有数字和字母A
。 (允许0或更多A
s)