Ответ 1
У вас его почти нет, вы просто оставили 0 и забыли квантификатор.
word.matches("^[0-9,;]+$")
Какое регулярное выражение соответствует строке, содержащей цифры от 0 до 9, запятую и полуточку? Я хочу использовать его в Java так:
word.matches("^[1-9,;]$") //Or something like that...
Я новичок в регулярных выражениях.
У вас его почти нет, вы просто оставили 0 и забыли квантификатор.
word.matches("^[0-9,;]+$")
Вы на 90% находитесь там.
^[0-9,;]+$
Начиная с карата ^
указывает начало строки.
[
указывает набор символов
0-9
указывает символы с 0 по 9, запятая ,
указывает запятую, а точка с запятой указывает на ;
.
Закрытие ]
указывает конец набора символов.
Плюс +
указывает, что должен присутствовать один или несколько "предыдущих элементов". В этом случае это означает, что у вас должен быть один или несколько символов в ранее объявленном наборе символов.
Доллар $
указывает конец строки.
Попробуйте word.matches("^[0-9,;]+$");
word.matches("^[0-9,;]+$");
ты был почти там
Текущее текущее регулярное выражение будет соответствовать только 1 символу. вам нужно либо * (включая пустую строку), либо + (по крайней мере одно), чтобы соответствовать нескольким символам, а номера имеют ярлык:\d (требуется\\в строке).
word.matches("^[\\d,;]+$")
Документация по шаблону довольно хороша: http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html
Также вы можете попробовать свои регулярные выражения в Интернете по адресу: http://www.regexplanet.com/simple/index.html
boolean foundMatch = Pattern.matches("[0-9,;]+", "131;23,87");