Что нового

Довести до ума регулярное выражение для поиска в тексте

PACHOM

Новичок
Сообщения
99
Репутация
0
Добрый вечер!

Мне уже сегодня помогли с регулярным выражением ... но одна мелочь осталась, которая портит всю картину.
Желательно, чтобы регулярное выражение одинаково искало:
12345 в 1056
81690 в 10:56
56869 в 9:56
56869 956
56869 в 0956
56869 в 956
...

Т.е. всегда будет пять цифр + набор символов но не цифр + (3 или 4 цифры или 2 цифры + 1 символ + 2 цифры).

Можно ли такое сделать?
 

AZJIO

Меценат
Меценат
Сообщения
2,805
Репутация
1,168
PACHOM
Можно было в той теме нюансы доопределить
Код:
\d{5}\h(?:[\wА-яЁё]\h)?[\d:]{3,5}

Кстати справка и RegExp
 
Автор
P

PACHOM

Новичок
Сообщения
99
Репутация
0
Да ... я до этих нюансов долго шёл ... сейчас проверю :smile:

ПС: ПАСИБО :smile:
Справку читаю ...


Добавлено:
Сообщение автоматически объединено:

Следующие значения регулярным выражением определяются как разные ... хотя должны быть они одинаковыми (или я что-то не так объяснил):
50003 в 900
50003 в 0900
 

AZJIO

Меценат
Меценат
Сообщения
2,805
Репутация
1,168
и что должно быть? Он находит их оба. Если требуется распознать дублирования чтобы включать один дубликат, то тут сразу скажу, что рег.выр. не программа в которой можно выполнять отдельные функции, она просто проверять удовлетворяет ли текст шаблону, а сравнить существует ли уже такой дубликат - это дело уже другой внешней функции выявления дубликатов.
 
Автор
P

PACHOM

Новичок
Сообщения
99
Репутация
0
и что должно быть? Он находит их оба. Если требуется распознать дублирования чтобы включать один дубликат, то тут сразу скажу, что рег.выр. не программа в которой можно выполнять отдельные функции, она просто проверять удовлетворяет ли текст шаблону, а сравнить существует ли уже такой дубликат - это дело уже другой внешней функции выявления дубликатов.
1. А что это за функция?
2. Не могу только разобрать почему
Код:
[\d:] а не [\d]
 

AZJIO

Меценат
Меценат
Сообщения
2,805
Репутация
1,168
PACHOM [?]
а как же 9:56 ? двоеточие это ведь не число

1. А что это за функция?
Можешь из Compare strings взять функцию поиска уникальных. Во первых удали двоеточие в тексте перед отправкой в рег.выр. Во вторых придётся разложить строки в 2D массив, чтобы преобразовать колонку где 0900 с помощью Execute или Number и привести к виду без лишних нулей, потом сделать поиск уникальных.
 
Верх