Я пытаюсь дать пользователю добавить пробелы в пределах 10 символов для их имени. И если они этого не хотят, у них будет возможность сохранить имя без пробелов: myNameLength
и myNoNums
отлично сочетаются.Добавление пробелов с помощью границы с использованием регулярных выражений
Я не уверен, как представлять space
в регулярных выражениях.
Я использовал 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));
}
Я просто пытаюсь получить более знакомое с регулярным выражением на Java, и дело в том, что я не хочу, чтобы там было место, если игрок не хочет этого делать, делая {1,10} игрок, по крайней мере, предоставил место для своего имени, я думал, что если бы я сделал это отдельно для пространства, это сделало бы его более гибким. –
Вы бы рекомендовали вместо регулярного выражения для тестовых случаев? –
@AntonioGarcia Регулярное выражение выше позволяет пользователю вводить пробелы, если они хотят; поэтому, если они не хотят, они все равно могут. И что вы подразумеваете под «для тестовых случаев»? Чего вы пытаетесь достичь именно? – Jerry