无法使用Java和正则表达式打印文件中的单词
我试图扫描一个文本文件,并使用正则表达式只打印出包含字母的字符串 当我使用正则表达式时,我当前的代码总是返回false无法使用Java和正则表达式打印文件中的单词,java,regex,Java,Regex,我试图扫描一个文本文件,并使用正则表达式只打印出包含字母的字符串 当我使用正则表达式时,我当前的代码总是返回false import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class DocumentReader { public static void main(String[] args) throws FileNotFoundException {
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class DocumentReader {
public static void main(String[] args) throws FileNotFoundException {
File inputFile = new File("document.txt"); // document
Scanner in = new Scanner(inputFile);
while (in.hasNext()){
String input = in.next();
input.matches("([^a-zA-Z])");
System.out.println(input.matches("[^a-zA-Z]"));
System.out.println(input);
//if text matches regex, print text
if (input.matches("[^a-zA-Z]")){
System.out.println(input);
}
}
}
}
问题:
[^a-zA-Z]
平均匹配单个非字母字符
由于要匹配包含字母的,
请使用
一个或多个字母表,如[a-zA-Z]+
[]
File inputFile = new File("document.txt"); // document
Scanner in = new Scanner(inputFile);
while (in.hasNext()){
String input = in.next();
//input.matches("([^a-zA-Z])"); not required
System.out.println(input.matches("[a-zA-Z]+")+"\n"+input);
//if text matches regex, print text
if (input.matches("[a-zA-Z]+")){
System.out.println(input);
}
演示
console.log(/^[a-zA-Z]+$/.test('abcd');
console.log(/^[a-zA-Z]+$/.test(“%s”);//忽略^$,默认情况下匹配添加它
您的意思是[a-zA-Z]+