Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中对正则表达式求反_Java_Regex - Fatal编程技术网

在Java中对正则表达式求反

在Java中对正则表达式求反,java,regex,Java,Regex,我需要一些帮助,为每个字符(前10个字符除外)找到一个与文本sting匹配的正则表达式。 例如,我使用了正则表达式: .{10}以匹配文本的前10个字符 P53236TT0834691 P53236TT08 34691->匹配 但是我需要负的结果作为从char 11到x的匹配 有人能帮我找到正确的表达方式吗?使用lookback: (?<=^.{10}).* 这将确保在匹配开始之前有10个字符,然后将匹配任何字符,直到字符串结束。在这种特定情况下,您可以使用: String patter

我需要一些帮助,为每个字符(前10个字符除外)找到一个与文本sting匹配的正则表达式。 例如,我使用了正则表达式:

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

P53236TT0834691

P53236TT08 34691->匹配

但是我需要负的结果作为从char 11到x的匹配 有人能帮我找到正确的表达方式吗?

使用lookback:

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

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

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

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

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

您可以使用它来匹配和提取所需的内容,因此正则表达式应该是这样的:^.{10}.*$。这将抛出组中第10个字符之后的任何文本,您可以稍后访问这些文本,如前一个SO问题所示。

作为旁注,我认为插入符号是不必要的,但无论如何也没那么重要……我之所以包含它,是因为它使意图更清晰,但是的,它不是严格必要的。不知道。我投票反对它,因为我分析了它,它一直更快。