gpt4 book ai didi

java - 在 java arraylist 中搜索正则表达式

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:01 24 4
gpt4 key购买 nike

ArrayList <String> list = new ArrayList(); 
list.add("behold");
list.add("bend");
list.add("bet");
list.add("bear");
list.add("beat");
list.add("become");
list.add("begin");

有一种方法可以搜索正则表达式 bea.* 并获取 ArrayList.indexOf 中的索引吗?

编辑:返回项目很好,但我需要比线性搜索性能更高的东西

最佳答案

爱马仕掌握了正确的基础知识。如果您想要字符串而不是索引,那么您可以使用 Java 5 foreach 循环进行改进:

import java.util.regex.Pattern;
import java.util.ListIterator;
import java.util.ArrayList;

/**
* Finds the index of all entries in the list that matches the regex
* @param list The list of strings to check
* @param regex The regular expression to use
* @return list containing the indexes of all matching entries
*/
List<String> getMatchingStrings(List<String> list, String regex) {

ArrayList<String> matches = new ArrayList<String>();

Pattern p = Pattern.compile(regex);

for (String s:list) {
if (p.matcher(s).matches()) {
matches.add(s);
}
}

return matches
}

关于java - 在 java arraylist 中搜索正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306880/

24 4 0