Java 正则表达式(无空格或 0-9)

标签 java regex eclipse

通过问题输入报告所有者的名字作为字符串。

需要一个正则表达式来有条件地检查,以确保名字不包含任何数字字符(0 - 9 之间的数字)。如果包含,则必须将其删除。名字也不能包含任何空格。

    do
    {
        System.out.println("Please enter your FIRST name:");
        firstName = keyboard.next();
        firstName= firstName.toUpperCase();
    }

    while( !firstName.matches("^/s^[a-zA-Z]+$/s"));

    System.out.println("Thanks " + firstName);
<小时/>
Output
p
Please enter your FIRST name:
p p
Please enter your FIRST name:
Please enter your FIRST name:

最佳答案

你的正则表达式搞砸了。试试这个:

while(!firstName.matches("^[^\\d\\s]+$"));

正则表达式 "^[^\\d\\s]+$" 表示“非数字或空格,且至少有一个字符”

关于Java 正则表达式(无空格或 0-9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481250/

相关文章:

java - 使用 thrift 在 Cassandra 中插入 SuperColumn

java - 测试 AbstractProcessor(Java 在编译时的注解处理)

regex - 正则表达式帮助

java - 写输出 : Too many methods: 77742; max is 65536. 的麻烦按包:

java - 如何向具有我未使用的特定用户名和密码的用户授予数据库访问权限?

java - 将 Gson 与路径一起使用

java - 为什么 ListIterator 为 LinkedList 中的元素提供索引?

regex - 使用 grep+regex 从输出中获取特定值并存储在 shell 中的变量中

visual-studio - 使用正则表达式匹配 Visual Studio 中的数字

Java:单元测试、JUnit、错误