Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения проверка строки 1,4,66,4,.... / 13 сообщений из 13, страница 1 из 1
10.11.2014, 20:02
    #38801293
doofy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
Здравствуйте!
Помогите пожалуйста разобраться с задачей.
Начал читать про рег. выражения, подумал что они смогут помочь... Теперь совсем запутался...
Есть строка, должна она выглядеть след. образом: "1,4,66,4,....,6" - перечисляются номера через запятую (номер есть простое натуральное число)
если строка не соответствует шаблону то нужно об этом "сообщить".
Возможно ли это сделать с помощью рег. выражений?
Заранее спасибо.
...
Рейтинг: 0 / 0
10.11.2014, 20:22
    #38801306
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
doofy,

попробуйте такой вариант

авторimport java.util.regex.*;

public class PatternExample {

public static void main(String[] args) {
Pattern pattern = Pattern.compile("[[0-9]+,]+");
Matcher matcher = pattern.matcher("1,4,66,4");
System.out.println("Input String matches regex - " + matcher.matches());
}
}
...
Рейтинг: 0 / 0
10.11.2014, 20:24
    #38801309
doofy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
Прошу прощения что вопрос не до конца продумал, вот же яркий пример задачи!
...
Рейтинг: 0 / 0
10.11.2014, 20:31
    #38801312
doofy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
mr_virtus,
Спасибо, идея ясна вроде
буду думать
...
Рейтинг: 0 / 0
10.11.2014, 20:32
    #38801314
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
искать не правильное - всё кроме -, цифры
и сочетания ,- или -, или (тут вариации с , и -)
если нет не правильного - значит правильно
...
Рейтинг: 0 / 0
11.11.2014, 14:44
    #38802173
doofy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
Возможно кому-то это пригодится
Код просто ужасен, зато работает(прошу за него простить - нет времени оптимизировать). В дальнейшей переделаю, но для заплатки думаю сгодится...

Код: java
1.
2.
3.
4.
5.
private boolean regex(String str){
		Pattern p = Pattern.compile("^([1-9]+)[0-9]*(-?([1-9]+)[0-9]*)*(,([1-9]+)[0-9]*(-?([1-9]+)[0-9]*)*)*$");
		Matcher m = p.matcher(str);
		return m.matches();
	}
...
Рейтинг: 0 / 0
11.11.2014, 15:10
    #38802238
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
doofy, не забывай про производительность Pattern.compile
...
Рейтинг: 0 / 0
11.11.2014, 15:14
    #38802245
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
doofyВозможно кому-то это пригодится
Код просто ужасен, зато работает(прошу за него простить - нет времени оптимизировать). В дальнейшей переделаю, но для заплатки думаю сгодится...

А вот за то что java.lang API не знаете, простить сложно:

Код: java
1.
2.
3.
private boolean regex(String str){
   return str.matches("^([1-9]+)[0-9]*(-?([1-9]+)[0-9]*)*(,([1-9]+)[0-9]*(-?([1-9]+)[0-9]*)*)*$");
}


Полезный метод вышел.
...
Рейтинг: 0 / 0
11.11.2014, 15:34
    #38802277
doofy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
Blazkowicz,

Спасибо! Буду исправляться...
...
Рейтинг: 0 / 0
11.11.2014, 15:42
    #38802287
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
doofy, посмотри ради общего развития исходники OpenJDK7/java/net/URL.java.

Там делается много сложных текстовых проверок и все они написаны без использования
Regex. Твоя задача - более простая.
...
Рейтинг: 0 / 0
11.11.2014, 16:02
    #38802313
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
BlazkowiczdoofyВозможно кому-то это пригодится
Код просто ужасен, зато работает(прошу за него простить - нет времени оптимизировать). В дальнейшей переделаю, но для заплатки думаю сгодится...

А вот за то что java.lang API не знаете, простить сложно:

Код: java
1.
2.
3.
private boolean regex(String str){
   return str.matches("^([1-9]+)[0-9]*(-?([1-9]+)[0-9]*)*(,([1-9]+)[0-9]*(-?([1-9]+)[0-9]*)*)*$");
}


Полезный метод вышел.
при указании диапазона страниц еще часто используется "10-", и ставится в конце
...
Рейтинг: 0 / 0
11.11.2014, 16:18
    #38802336
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
rema174BlazkowiczПолезный метод вышел.
при указании диапазона страниц еще часто используется "10-", и ставится в конце
Я имел ввиду Полезный
...
Рейтинг: 0 / 0
11.11.2014, 17:21
    #38802468
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения проверка строки 1,4,66,4,....
doofyЕсть строка, должна она выглядеть след. образом: "1,4,66,4,....,6" - перечисляются номера через запятую (номер есть простое натуральное число)
если строка не соответствует шаблону то нужно об этом "сообщить".
Возможно ли это сделать с помощью рег. выражений?


Да, возможно.

Код: java
1.
String regexp = "\d+(,\d+)";
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения проверка строки 1,4,66,4,.... / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]