在Java中对正则表达式求反
我需要一些帮助,为每个字符(前10个字符除外)找到一个与文本sting匹配的正则表达式。 例如,我使用了正则表达式: .{10}以匹配文本的前10个字符 P53236TT0834691 P53236TT08 34691->匹配 但是我需要负的结果作为从char 11到x的匹配 有人能帮我找到正确的表达方式吗?使用lookback:在Java中对正则表达式求反,java,regex,Java,Regex,我需要一些帮助,为每个字符(前10个字符除外)找到一个与文本sting匹配的正则表达式。 例如,我使用了正则表达式: .{10}以匹配文本的前10个字符 P53236TT0834691 P53236TT08 34691->匹配 但是我需要负的结果作为从char 11到x的匹配 有人能帮我找到正确的表达方式吗?使用lookback: (?<=^.{10}).* 这将确保在匹配开始之前有10个字符,然后将匹配任何字符,直到字符串结束。在这种特定情况下,您可以使用: String patter
(?<=^.{10}).*
这将确保在匹配开始之前有10个字符,然后将匹配任何字符,直到字符串结束。在这种特定情况下,您可以使用:
String pattern = ".{10}(.*)";
第一个捕获组将捕获搜索字符串中超过10个的所有字符。您可以简单地扩展它以跳过任意数量的字符。您可以使用它来匹配和提取所需的内容,因此正则表达式应该是这样的:^.{10}.*$。这将抛出组中第10个字符之后的任何文本,您可以稍后访问这些文本,如前一个SO问题所示。作为旁注,我认为插入符号是不必要的,但无论如何也没那么重要……我之所以包含它,是因为它使意图更清晰,但是的,它不是严格必要的。不知道。我投票反对它,因为我分析了它,它一直更快。