java - 使用正则表达式添加带边界的空格

标签 java regex space

我试图让用户在其姓名的 10 个字符范围内添加空格。如果他们不愿意,他们可以选择保留不带空格的名称:myNameLengthmyNoNums 匹配得很好。

我不确定如何在正则表达式中表示空格
我用过this website帮助我更多地理解正则表达式以及 JPS ,但我无法找到正确的语法。

到目前为止,我已经尝试了下面的内容以及 \\t{0,10}"、"[ ]{0,10}[\\s] *。我还知道它不是 \t\s 因为 Java 使用正则表达式的方式不同。

这就是我想知道的原因:
Java 是否有一种与平常不同的方式来编码带有边界的空间?

 @Test
        public void testName() 
        {
            String myNameLength = "\\w{1,10}";
            String myNoNums = "[^\\d]{1,10}";
            String mySpaces = "\\s{0,10}";

            Player p = new Player();
            p.Player("Antonio");
            String s = p.getName();
            assertTrue(s.matches(myNameLength) && s.matches(myNoNums) && s.matches(mySpaces));  
        }

最佳答案

使用正则表达式验证名称不是一个好主意,但如果您想允许包含任何字符、空格,则可以使用正则表达式:

.{1,10}

但是如果你只想有 \w,没有数字但有空格,你可以使用单个正则表达式:

[\\w &&[^\\d]]{1,10}
<小时/>

根据代码的当前设置,您需要确保名称匹配 0 到 10 个空格,并且没有其他字符。

关于java - 使用正则表达式添加带边界的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200020/

相关文章:

java - (Java) 使用 Math.acos 时 double 中出现奇怪的 NaN

java - 托盘图标在 Ubuntu 16.04 上不起作用

正则表达式检测多个字符串之一

javascript - 使用 javascript 正则表达式单词边界排除完整单词

c# regex - 从类文件 (.cs) 中选择类属性名称、方法名称和字段

C++ if 语句不解析空格

java - 两个线程访问同一个链表

java - 使用实体管理器进行 SQL 查询

javascript - 用点填充两个文本元素之间的空间

Java - 检查字符串之间的空格