java如何匹配
正则表达式匹配
使用 java.util.regex 包中的 Pattern 和 Matcher 类进行正则匹配。以下示例检查字符串是否包含数字:
import java.util.regex.*;
String text = "abc123";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(text);
boolean hasMatch = matcher.find(); // 返回true
字符串精确匹配
通过 String.equals() 或 String.equalsIgnoreCase() 进行精确匹配:
String str1 = "Hello";
String str2 = "hello";
boolean isEqual = str1.equals(str2); // false
boolean isIgnoreCaseEqual = str1.equalsIgnoreCase(str2); // true
字符串包含匹配
使用 String.contains() 检查子字符串是否存在:

String text = "Java programming";
boolean containsJava = text.contains("Java"); // true
字符串开头/结尾匹配
通过 String.startsWith() 和 String.endsWith() 进行匹配:
String path = "/home/user/file.txt";
boolean isAbsolute = path.startsWith("/"); // true
boolean isTxtFile = path.endsWith(".txt"); // true
集合元素匹配
利用 List.contains() 或 Stream.anyMatch() 检查集合中是否存在目标元素:

List<String> list = Arrays.asList("a", "b", "c");
boolean hasB = list.contains("b"); // true
boolean hasZ = list.stream().anyMatch(s -> s.equals("z")); // false
模糊匹配(Levenshtein距离)
通过第三方库(如Apache Commons Text)计算字符串相似度:
import org.apache.commons.text.similarity.LevenshteinDistance;
LevenshteinDistance distance = new LevenshteinDistance();
int edits = distance.apply("kitten", "sitting"); // 返回3
多模式匹配(Aho-Corasick算法)
使用库如 org.ahocorasick 高效匹配多个关键词:
Trie trie = Trie.builder()
.addKeyword("Java")
.addKeyword("Python")
.build();
Emit emits = trie.parseText("I love Java and Python");
// 返回匹配到的所有关键词






