2013-08-18 2 views
2

내부 대문자가있는 소프트웨어 타이틀의 데이터베이스를 검색하려고합니다 (예 : PowerPoint, inCase). MySQL 쿼리의 정규식 오류

이 나는 ​​테이블의 부분 집합을 반환 가장이 정확하지만, 상당한 양의가 (예를 들어, 별칭)하지 않았다으로
select * from table where field REGEXP '^([a-z][A-Z]+)+$' 

이 작동 듯했습니다. 확실히 뭔가를하고 있지만 확실하지 않습니다. 아스키가 어떻게 든 엉망이 될 수 있을까요?

^[A-z]+[A-Z][A-z]+$ 

그것은 (파워 포인트, 넣다) 위의 모든 예와 일치하며, '별칭', 당신이 문제가있는 예제 중 하나와 일치하지 :

+2

[정규 표현식] (http://dev.mysql.com/doc/en/regexp.html)에서 설명한대로 : "*'REGEXP'는 이진 문자열과 함께 사용할 때를 제외하고는 대소 문자를 구분하지 않습니다. *" – eggyal

+2

나는'SELECT * FROM table WHERE BINARY field REGEXP '[az] [AZ] + [az]'; '라고 생각한다. – raina77ow

+0

마지막 "+"- 한정 기호와 괄호를 안전하게 제거 할 수 있다고 생각합니다. 따라서 정규 표현식은^[az] [AZ] + $가됩니다. 괄호 밖의 + 한정 기호를 사용하면 오류가 발생하지만 확실하지는 않습니다.) –

답변

0

당신의 정규식 패턴이보십시오.