Java正则表达式<;省略号>;

Java正则表达式<;省略号>;,java,regex,Java,Regex,我正在阅读一些旧代码,这些代码似乎旨在删除目录中的一系列句点(……)。它利用java正则表达式来实现这一点。这是使用的代码 input = input.replaceAll( ".*<elipses>.*", "" ); input=input.replaceAll(“.*.*”,”); 但是,我没有看到提到带有“'s”的正则表达式,除了这里: 特殊构造(命名捕获和非捕获) (?X)X,作为命名的捕获组 () 是什么意思?看起来像Java 7命名组,语法似乎不正确 正确的语法如下

我正在阅读一些旧代码,这些代码似乎旨在删除目录中的一系列句点(……)。它利用java正则表达式来实现这一点。这是使用的代码

input = input.replaceAll( ".*<elipses>.*", "" );
input=input.replaceAll(“.*.*”,”);
但是,我没有看到提到带有“'s”的正则表达式,除了这里:

特殊构造(命名捕获和非捕获)
(?X)
X,作为命名的捕获组

()

是什么意思?

看起来像Java 7命名组,语法似乎不正确

正确的语法如下所示:

//                           | named group "stuff" matches 0 or more characters
//                           |           | named group "ellipses" 3 consecutive dots
//                           |           |                     | non grouped stuff
Pattern p = Pattern.compile("(?<stuff>.*)(?<ellipses>\\.\\.\\.).*");
String input = "blah ... blah";
Matcher m = p.matcher(input);
if (m.find()) {
    // printing back reference to named group "stuff"
    System.out.println(m.group("stuff"));
    // printing back reference to named group "ellipses"
    System.out.println(m.group("ellipses"));
}
否则,您的
模式
正试图实际匹配包含
的标记,该标记前面有任意数量的字符,后面跟着相同的字符


一些对Java 7命名组的API引用

您确定文本中没有字面上的
*
是贪婪的,所以我不知道
如何与
..
匹配。这是复制和粘贴的文字代码,而不是文档中的内容吗?上面的代码是旧代码中的代码。我只是想了解他们最初想做什么。这不是Java文档中的内容。很酷,您可以这样做。
blah 
...