否定Java中的正则表达式

时间:2013-04-11 09:12:30

标签: java regex

我需要一些帮助找到一个正则表达式匹配的文本sting为每个char期望前10。 例如,我使用了正则表达式:

。{10}匹配文本的前10个字符

P53236TT0834691

P53236TT08 34691 - >匹配

但我需要将负面结果作为匹配(从char 11到x) 有人可以用正确的表达方式帮助我吗?

3 个答案:

答案 0 :(得分:3)

使用lookbehind:

(?<=^.{10}).*

这将确保在比赛开始前有10个字符,然后匹配任何内容直到字符串结束。

答案 1 :(得分:2)

在这种特定情况下,您可以使用:

String pattern = ".{10}(.*)";

第一个捕获组将捕获搜索字符串中超过10日的所有字符。你可以简单地扩展它以跳过任意数量的字符。

答案 2 :(得分:2)

您可以使用Groups来匹配并提取您需要的内容,因此正则表达式将是这样的:^.{10}(.*)$。这将抛出组中第10个字符后面的任何文本,然后您可以稍后访问,如this上一个SO问题所示。