Как подсчитать кол-во блоков в регулярке?

wizard

Client
Регистрация
04.10.2011
Сообщения
991
Благодарностей
607
Баллы
93
Здравствуйте

ищу обычной регуляркой текст.*?

Вопрос как подсчитать кол-во найденных совпадений ?
 

Ludmilko

Новичок
Регистрация
15.07.2010
Сообщения
72
Благодарностей
31
Баллы
0
Есть макрос подсчета количества блоков через разделитель, в качестве разделителя можно использовать символ Enter
пример:
 

Вложения

  • Спасибо
Реакции: wizard

wizard

Client
Регистрация
04.10.2011
Сообщения
991
Благодарностей
607
Баллы
93
Спасибо, а еще вопрос - как отъединить результаты регулярок использующихся в разных ветках шага?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 881
Баллы
113
Что значит объединить? Если имеется ввиду записать в одну строку, то надо к результату одной ветки подставить второй - к примеру {-FieldData.FieldData-|-●9●4●7●0●2●5●-|-vc-1649-} {-FieldData.FieldData-|-●7●6●1●3●2●0●-|-vc-4139-}

Таким образом в одну строку впишутся 2 результат из разных шагов через пробел.
 
  • Спасибо
Реакции: wizard

wizard

Client
Регистрация
04.10.2011
Сообщения
991
Благодарностей
607
Баллы
93
Таким образом в одну строку впишутся 2 результат из разных шагов через пробел.
понял. спасибо
Есть макрос подсчета количества блоков через разделитель, в качестве разделителя можно использовать символ Enter
пример:
а вот тут есть проблема - если значения нет (регулярка ничего не нашла), то макрос подсчета возвращает все равно 1
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 881
Баллы
113
а вот тут есть проблема - если значения нет (регулярка ничего не нашла), то макрос подсчета возвращает все равно 1
Чтобы небыло таких проблем, перед тем, как считать строки в результате, можно проверить на факт наличия результата, т.е. в логике сравнить то, что должно получится с пустой строкой и по результату уже идти туда, куда надо.
 
  • Спасибо
Реакции: wizard

wizard

Client
Регистрация
04.10.2011
Сообщения
991
Благодарностей
607
Баллы
93
Еще вопрос по работе с блоками в регулярке ....

пример : регуляркой нашел 7 нужных данных (7 блоков) первый блок взял - совершил с ним действия --- Вопрос -- как взять еще второй блок (второе совпадение) ..... и так далее 3, 4, 5, 6, 7 ...... Или обязательно писать это в фаил ?
 

step85

Client
Регистрация
19.02.2010
Сообщения
1 839
Благодарностей
287
Баллы
83
Еще вопрос по работе с блоками в регулярке ....

пример : регуляркой нашел 7 нужных данных (7 блоков) первый блок взял - совершил с ним действия --- Вопрос -- как взять еще второй блок (второе совпадение) ..... и так далее 3, 4, 5, 6, 7 ...... Или обязательно писать это в фаил ?
Писать в файл и брать затем по 1 строке с удалением - это самый простой способ.
Можно еще при помощи макроса разделения строки делить наши блоки по разделителю {-String.Enter-} и номером совпадения брать нужный по счету блок. Но в этом случае нужно использовать еще счетчики.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)