source

온라인 regex 테스터에서 작동하는 MariaDB regex가 SELECT WHERE REgEXP에서 작동하지 않음

nicesource 2023. 9. 6. 22:09
반응형

온라인 regex 테스터에서 작동하는 MariaDB regex가 SELECT WHERE REgEXP에서 작동하지 않음

잘못된 형식으로 제공받은 데이터셋 E.G.에 문제가 있습니다.fullName열과 이름의 구분이 없습니다. 이름들이 주어진 문자 E.G로 시작하는 곳을 검색하고 싶습니다.'J'

그래서 이건 내 진술이지만 예상치 못한 것에 대한 불만이 있을 뿐입니다.REGEXP

SELECT * FROM `Officers` WHERE `fullName` REGEXP '.*\sJ.*';

MariaDB에서 이것을 할 수 있는 방법이 없을까요? 불행히도 이름은 고정된 단어 수가 아닙니다. 다른 이름은 2개만 있고 이름은 6개입니다. 중간 이름은 4개입니다.

사용하셔도 좋습니다

REGEXP '\\bJ'
        ^^^

여기서.\b다음과 같은 경우에만 일치를 강제하는 단어 경계입니다.J앞에 문자, 숫자 또는_.

\regex 엔진이 리터럴을 기대하기 때문에 두 배가 됩니다.\, 백슬래시가 두 번 필요합니다.

다음과 같은 것을 사용해 보십시오.

SELECT * FROM `Officers` WHERE `fullName` REGEXP '[[:<:]]J'

문서 참조: https://dev.mysql.com/doc/refman/5.7/en/regexp.html

언급URL : https://stackoverflow.com/questions/59262204/how-to-match-specific-string-and-surrounding-words-in-select-statement-with-rege

반응형