gpt4 book ai didi

java - 如何制作仅匹配字母字符的正则表达式?

转载 作者:行者123 更新时间:2023-12-02 05:43:23 26 4
gpt4 key购买 nike

我试图将一个句子分成单词,然后打印它们(如果它们仅包含字母字符)。其他字符应该输出错误消息。

输入示例:

The quick brown fox

所需输出:

The

quick

brown

fox

输入示例:

Th1 qu1ck br0wn fox

所需输出:

This is invalid.

我尝试使用模式来做到这一点,但我认为它不起作用。

import java.util.Scanner;
import java.util.regex.Pattern;
public class test {

public static void main(String[] args) {

System.out.println("This will break a sentence into words.");
Scanner alpha = new Scanner(System.in);
String beta = alpha.nextLine();
String [] data = beta.split(" ");
if (Pattern.matches("[a-zA-Z]+", beta)){
System.out.println(data[0]);
System.out.println(data[1]);
System.out.println(data[2]);
System.out.println(data[3]);
}
else {
System.out.println("This is not valid.");
}
}

}

最佳答案

答案很简单:)。您尝试将您的模式与整个 inputString“beta”进行匹配,但您已经分割了“beta”,并且您希望该模式不是与 beta 匹配,而是与数组“data”的一个元素匹配。

更改此:

if (Pattern.matches("[a-zA-Z]+", beta)){}

对此:

for(String word : data)
{
Pattern.matches("[a-zA-Z]+", word)
}

你必须处理模式不匹配的情况,但那是你的工作。 :)我希望它有帮助。

关于java - 如何制作仅匹配字母字符的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24326327/

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