이 하나가 나를 죽이고 있습니다. 정규식을 가진 총 멍청한 사람입니다. 사이트 검색을 수행하고 입력 된 텍스트를 데이터베이스의 titles 열과 비교하려고합니다. 기본적으로 내가 정규식으로 달성하고자 LIKE '% word1 word2 word3 %'이지만 일부 문자열 variatons입니다. 예를 들어MySql 사용자 입력에서 검색 할 정규 표현식
:
SELECT * FROM 테이블 WHERE 잘
웍스 [AO] RD w '표제 REGEXP . 말과 병동을 찾습니다. 하지만 여러 단어를 원할 때는 아무 것도 반환하지 않습니다.
SELECT * 테이블 WHERE 표제 REGEXP 'w [AO] RD 초 [또는] ND [IO] RD 번째'I 워드 또는 두 번째 또는 세 번째 검색하지 않으려
LIKE와 대문자처럼 제목에 모두 넣고 싶습니다.
사용자가 입력 한 검색 문자열을 foreach에서 폭발적으로 생각하는 것은 단어별로 정규식 단어를 수행하지만 모든 유사어를 하나의 쿼리로 연결하는 방법을 알지 못합니다.
EDIT : utf8_unicode_ci 조합 표에서 검색하는 것을 잊어 버렸습니다. 그래서 정말로 [ccć] orak 유형의 검색을하려고합니다.
감사 있도록, 그러나 이것은 OR을 수행하고, 내가하지 않습니다 말했다, 그렇게해야합니다. – Doktor83
음, "where regexp '..'OR ...와 같은 다른 방법이 있습니다.하지만 OR 문법을 사용하는 것으로 귀결됩니다. 왜냐하면 ... 다른 말로하면" 이 OR이 모양을? "그 OR 구문 구문의 전체 지점입니다. –
그래도 얻을,하지만이 tought이 하나의 정규식 코드에서 수행 할 수 있습니다. 그래서 기본적으로 '큰 빨간 사과'를 검색하면 나는 그것을 원하는 – Doktor83