.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环境中运行。我应该提到这一点。很抱歉我也一直想知道零宽度是什么意思。。再次感谢