|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
Есть регулярка, для поиска номеров телефонов в тексте (не верификация поля ввода, а именно в тексте, т.е. нельзя ограничивать символами начала и конца строки). Код: php 1.
Проблема в том, что под эту регулярку попадают вот такие строки Код: html 1.
Как можно модифицировать регулярку, чтобы если перед номером есть '=' или после символ ']' - то отклонять? Т.е. после (или до) цифр может идти что угодно, кроме вот этих двух символов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2019, 00:37 |
|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
Посмотрите страницу https://www.php.net/manual/ru/regexp.reference.assertions.php Фрагменты оттуда: авторА foo(?!bar) соответствует любому появлению "foo", после которого не идёт "bar". авторНапример, (?<!foo)bar найдёт вхождения "bar", которым не предшествует "foo". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2019, 01:21 |
|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
Почему-то не работает. Пробовал и так Код: html 1.
и так Код: html 1.
все равно находит ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2019, 11:13 |
|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
Советую поменять тактику Код: php 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2019, 23:05 |
|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
Хотя посмотрел, в принципе то же самое, что и у вас Код: php 1.
Весь секрет в выражениях [^\d=]{2} и [^\d\]]{2}. Можно подумать, как ограничиться одним символом [^=] [^\]], но я считаю, что этого будет достаточно для большинства случаев. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2019, 23:17 |
|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
Думается, вряд ли получится одним простым выражением отловить точно все варианты. Переменное количество символов в необязательных фрагментах "((8|\+7)[\- ]?)?" и "(\(?\d{3}\)?[\- ]?)?", да и вариантов в "[\d\- ]{7,12}" думается, слишком велико. В данном случае из "=1572019480]" легко берется фрагмент по условию "от 7 до 12", так, что рядом оказываются вполне приемлемые цифры, а не нежелательные символы. Можно попробовать сделать несколько регекспов с более жесткими правилами. Вряд ли это будет самым хорошим способом. Впрочем, других мыслей собрать искомое за один проход пока нет. За два или за три, нормализуя данные, можно, конечно. Оно и проще, скорее всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2019, 00:25 |
|
Модифицировать регулярку для поиска цифр
|
|||
---|---|---|---|
#18+
TolikD , спасибо, все работает. Строка с date пропала, а это главное, т.к. эта строка была в каждом втором посте. vkle , да там много мусора попадает,вида id=1318533. Но я сделал еще чуть иначе, добавил Код: php 1. 2. 3.
правда, и после такой валидации остаются строки вида -------------- , но это уже приемлемо плюс-минус. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2019, 02:24 |
|
|
start [/forum/topic.php?fid=23&fpage=13&tid=1459832]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 257ms |
total: | 373ms |
0 / 0 |