2014-09-28 2 views
0

phpMyadmin에서 작동하는 다음 검색어를 가져올 수 없습니다. http://regex101.com/r/qN2jX4/1SQL 쿼리의 정규식 문제

+0

무엇이'SELECT * FROM'my_table' WHERE'content' LIKE 'http % ebay'; ' – hd1

+0

과 관련이 있습니다. 결과가 없습니다. 이베이 링크는 cgi.ebay 이외의 것이어야합니다. – Yevgen

+0

'SELECT * FROM my_table '% cgi.ebay %'와 (과) 다른 내용이 있습니까? – hd1

답변

2

를 : 나는 문제가 무엇인지 확신하지 여기를 참조 만들 때

#1139 - Got error 'repetition-operator operand invalid' from regexp 

정규 표현식 자체는 완벽하게 잘 작동 : 여기

SELECT * FROM `my_table` WHERE `content` REGEXP 'https?\:\/\/(.*?(?<!cgi\.)ebay)'; 

내가 얻을 오류입니다 .*??<처럼 용의성이 있습니다. ?을 제거하면 오류가 수정됩니다.

WHERE `content` REGEXP 'https?\:\/\/(.*(<!cgi\.)ebay)'; 

아마도 이것이 원하는 작업 일 것입니다.

+0

좋은 하나, 다른 것들을 시도하고 해결책을 볼 수 있습니다. – radar

+0

감사합니다. 오류가 표시되지 않지만 결과는 0입니다. 나는 www.ebay와 non-cgi 같이 보이는 많은 URL을 가지고 있기 때문에 무엇이 잘못되었는지를 파악할 수 없다. – Yevgen

+0

나는 더 많은 조사를했고 MySQL은 부정 연산자를 가질 수 없다는 것을 읽었습니다. " ? 어쨌든 다른 옵션을 시도했지만 iebay.com과 같은 URL을 삭제하거나 REGEXP 'https? \ : \/\/[^ (cgi | mobile)]라는 문구가 아닌 실제로 threaa 문자 중 하나를 사용하여 URL을 삭제합니다. * \. ebay ' – Yevgen