Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите составить регулярное выражения 
:(
    Опции темы
unkis
Дата 30.10.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 802
Регистрация: 8.9.2004

Репутация: нет
Всего: 1



Помогите создать регулярное выражения
нужно чтобы это регулярное выражения определяла что-то типа такого слова

[1,5],[5],[5,0]

и не определяла такое

[1,5][5],[5,0]

тоесть без запятой между скобками

я сделал что-тот типа такого, но у меня проблема с запятой, как это исправить

Код

$a1 ="[1,5],[5],[5,0]";


print "Result is: ".(($a1=~ m/^((\[[\d,\,+]+\],*)+)$/g)eq ""?0:1);




--------------------
www.unkis.com
PM MAIL WWW   Вверх
amg
Дата 30.10.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Код

$a1 = "[1,5],[5],[5,0]";
$a2 = "[1,5][5],[5,0]";
foreach ($a1,$a2) {
  print "$_: Result is ".(m/^(\[[\d,]+\],)+\[[\d,]+\]$/g ? 1 : 0)."\n";
}


PM MAIL   Вверх
unkis
Дата 30.10.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 802
Регистрация: 8.9.2004

Репутация: нет
Всего: 1



Цитата(amg @ 30.10.2007,  14:06)
Код

$a1 = "[1,5],[5],[5,0]";
$a2 = "[1,5][5],[5,0]";
foreach ($a1,$a2) {
  print "$_: Result is ".(m/^(\[[\d,]+\],)+\[[\d,]+\]$/g ? 1 : 0)."\n";
}

Спасибо, но это не совсем то что мне нужно

твое регулярное выражение, говорит "0" на вот это слово [5], а должно говорить "1".

спасибо жду следующих предложений.


--------------------
www.unkis.com
PM MAIL WWW   Вверх
amg
Дата 30.10.2007, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(unkis @  30.10.2007,  17:48 Найти цитируемый пост)
твое регулярное выражение, говорит "0" на вот это слово [5], а должно говорить "1".
Из первоначального условия этого не следовало. Но проблемы нет.
Код

$a1 = "[1,5],[5],[5,0]";
$a2 = "[1,5][5],[5,0]";
$a3 = "[5]";

foreach ($a1,$a2,$a3) {
  print "$_: Result is ".(m/^(\[[\d,]+\],)*\[[\d,]+\]$/ ? 1 : 0)."\n";
}



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.