说有一句话
那个山姆-我-是
两个单词以相同的序列“am”结尾,其中第二个序列是最后一个单词。
我需要编写一个正则表达式来匹配这样一个句子,其中的序列可以是任何字母串。
语言是Java。我不太明白的是如何在一个句子中匹配某些内容而忽略其余部分。
这是 Java 测试的准备问题。
谢谢你。
这是我用来测试的代码
public static void doMatching(){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
String pattern, s;
System.out.print("Pattern: ");
pattern = in.readLine();
while (!pattern.equals("quit")){
System.out.print("String: ");
s = in.readLine();
System.out.println(Pattern.matches(pattern, s));
System.out.print("Pattern: ");
pattern = in.readLine();
}
} catch (IOException e){
System.out.println("Error!");
} catch (Exception e2){
System.out.println("Unknown!");
}
}
public static void main(String[] args) {
// TODO code application logic here
doMatching();
}
这是结果
Pattern: (\\w+\\b).*\\b\\1$
String: that sam-i-am
false