gpt4 book ai didi

Java 正则表达式 <省略号>

转载 作者:行者123 更新时间:2023-11-30 08:24:57 28 4
gpt4 key购买 nike

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

input = input.replaceAll( ".*<elipses>.*", "" );

但是我没有看到提到带有“<>”的正则表达式,除了这里:

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

( http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html )

<elipsis> 是什么意思?什么意思?

最佳答案

看起来 像一个语法不正确的 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"));
}

输出

blah 
...

否则你的Pattern试图实际匹配一些包含 <ellipses> 的标记, 前面有任意数量的字符,后跟相同的字符。

Java 7 命名组的一些 API 引用 here.

关于Java 正则表达式 <省略号>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22564820/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com