Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Регулярное выражение и подстрока / 9 сообщений из 9, страница 1 из 1
02.03.2011, 13:41
    #37144010
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Собственно как реализовать универсальный алгоритм
На входе:
1. шаблон регулярного выражения T
2. строка S
На выходе:
булево значение - существует ли такая строка, удовлетворяющая шаблону T и содержащая S как подстроку (возможно сама S)

или есть ли такое в библиотеке регулярных выражений?

С уважением, Naf
...
Рейтинг: 0 / 0
02.03.2011, 13:54
    #37144051
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Naf,

Готового, разумеется, нет.
Навскидку, если Т не закрыт хотя бы с одной из сторон (^, $) - то однозначно строка существует.
Если закрыт - придется самостоятельно разбирать T на последовательные компоненты (и их всевозможные последовательности), закрывать их с краев символами ^ и $ и проверять S. Если проверка пройдет - строка существует.

Всё это, конечно, кропотливая работа, но не слишком.
...
Рейтинг: 0 / 0
02.03.2011, 13:57
    #37144063
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Яростный Мечесли Т не закрыт хотя бы с одной из сторон (^, $) - то однозначно строка существует
не согласен
если T=(01)*
и S=11
...
Рейтинг: 0 / 0
02.03.2011, 14:04
    #37144083
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Naf,

Можно проверить в строке браузера, будет true
Код: plaintext
javascript:alert(/( 01 )*/.test('11'));
...
Рейтинг: 0 / 0
02.03.2011, 14:08
    #37144098
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Яростный Мечесли Т не закрыт хотя бы с одной из сторон (^, $) - то однозначно строка существуетв этом случае искомая строка может состоять из строки, подходящей под T, и прикрепленной к ней S (с "открытого" края шаблона)
...
Рейтинг: 0 / 0
02.03.2011, 14:44
    #37144248
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Яростный Меч,

не знаю что там пишет JS
но как "11" может быть подстрокой строки подходящей под шаблон "(01)*" ?
это же строки вида 01, 0101, 010101
...
Рейтинг: 0 / 0
02.03.2011, 15:03
    #37144333
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
Naf,

полагаю, вам следует более тщательно разобраться с регексами.

Шаблону (01)* вполне может соответствовать, например, строка 1101 .

А вот "закрытый" шаблон ^(01)*$ такое не пропустит
...
Рейтинг: 0 / 0
02.03.2011, 15:28
    #37144418
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
а, что то я не то я имел ввиду
да, строка полностью
...
Рейтинг: 0 / 0
02.03.2011, 15:38
    #37144460
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение и подстрока
On 02.03.2011 13:41, Naf wrote:

> На входе:
> 1. шаблон регулярного выражения T
> 2. строка S
> На выходе:
> булево значение - существует ли такая строка, удовлетворяющая шаблону T и
> содержащая S как подстроку (возможно сама S)
>
> или есть ли такое в библиотеке регулярных выражений?

Есть.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Регулярное выражение и подстрока / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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