.net 正则表达式返回最后十三位数字中的前十二位?

.net 正则表达式返回最后十三位数字中的前十二位?,.net,regex,grouping,lookahead,.net,Regex,Grouping,Lookahead,我正在处理这个正则表达式,但它并不像我预期的那样工作。这是迄今为止我的正则表达式--{12}(?=)$|(^.{1,12}$) 前半部分,{12}(?=)$就是我被卡住的地方。我试图匹配输入字符串中最后十三个字符中的前十二个 示例: 123456789013-->123456789012 123456789012345-->345678901234 123456789012134567890-->890123456789 对我来说,前瞻性似乎失败了。使用类似于q(?=w)的演示可以正确地匹配q后

我正在处理这个正则表达式,但它并不像我预期的那样工作。这是迄今为止我的正则表达式--
{12}(?=)$|(^.{1,12}$)

前半部分,
{12}(?=)$
就是我被卡住的地方。我试图匹配输入字符串中最后十三个字符中的前十二个

示例:
123456789013
-->
123456789012

123456789012345
-->
345678901234

123456789012134567890
-->
890123456789

对我来说,前瞻性似乎失败了。使用类似于
q(?=w)
的演示可以正确地匹配q后跟w,但我无法让它在我的特定实例中工作


谢谢

前瞻是零宽度,因此
(?=)$
是一个矛盾

.{12}(?=.$)|^.{1,12}$

您使用的是什么正则表达式风格?您不能简单地使用分组吗?编辑:正如马克提议的那样B@fardjad-我正在用Javascript(regexpal.com)测试它,但它实际上将在.Net环境中运行。我应该提到这一点。很抱歉我也一直想知道零宽度是什么意思。。再次感谢