RegEx返回最后十三位数的前十二位?

时间:2013-04-03 19:32:14

标签: .net regex grouping lookahead

我正在研究这个正则表达式,它没有按照我的预期运行。这是我到目前为止的正则表达式 - .{12}(?=.)$|(^.{1,12}$)

上半场.{12}(?=.)$是我被困的地方。我正在尝试匹配输入字符串中最后十三个字符的前十二个字符。

示例:
1234567890123 - > 123456789012
123456789012345 - > 345678901234
12345678901234567890 - > 890123456789

对我来说,前瞻似乎是失败的。使用q(?=w)之类的演示正确匹配q后跟w,但我不能让它在我的特定实例中工作。

谢谢!

1 个答案:

答案 0 :(得分:5)

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

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