У меня есть несколько URL-адресов без http://
в таблице базы данных:
url
row #1: 10.1.127.4/
row #2: 10.1.127.4/something
Теперь следующий фильтр дает мне строку № 2 - отлично:
SELECT * FROM mytable WHERE url REGEXP '[[:<:]]10.1.127.4/something[[:>:]]'
Но следующий фильтр не дает мне строку №1, а не должен ли?
SELECT * FROM mytable WHERE url REGEXP '[[:<:]]10.1.127.4/[[:>:]]'
Я должен отметить, что также экранирование косой черты с помощью обратной косой черты не возвращает желаемую строку № 1:
SELECT * FROM mytable WHERE url REGEXP '[[:<:]]10.1.127.4\/[[:>:]]'
'[[:<:]]10.1.127.4/'
- person Wiktor Stribiżew   schedule 31.05.2016/
и концом строки нет границы слова. - person Wiktor Stribiżew   schedule 31.05.2016'[[:<:]]10[.]1[.]127[.]4/([[:>:]]|$)'
. Точка должна быть либо экранирована, либо помещена в выражение в квадратных скобках. - person Wiktor Stribiżew   schedule 31.05.2016[0-9]+
, и на самом деле/([[:>:]]
будет соответствовать/
перед alnum char. Если вам нужно обратное, используйте'[[:<:]]10[.]1[.]127[.]4/([^[:alnum:]]|$)'
- person Wiktor Stribiżew   schedule 31.05.2016