source

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

bestscript 2022. 11. 13. 19:37

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

잘못된 형식 E로 주어진 데이터 세트에 문제가 있습니다.gfullName검색하고자 하는 이름 중 E로 시작하는 이름이 있으면 열과 이름을 구분하지 않습니다.g'J'

그래서 이게 제 진술인데 예상치 못한 것에 대한 불만이 들어왔어요.REGEXP

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

MariaDB에서 이것을 할 수 있는 방법이 있을까요?유감스럽게도 이름은 고정된 단어 수가 아닙니다.어떤 이름은 2개뿐이고 어떤 이름은 6개이고 중간 이름은 4개입니다.

사용할 수 있습니다.

REGEXP '\\bJ'
        ^^^

여기, 그\b단어 경계는 다음과 같은 경우에만 일치하도록 강제합니다.J문자, 숫자 또는 숫자 앞에 입력되지 않습니다._.

\regex 엔진은 리터럴을 예측하기 때문에 2배가 됩니다.\및 2개의 백슬래시가 필요합니다.

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

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

다음 문서를 참조하십시오.https://dev.mysql.com/doc/refman/5.7/en/regexp.html

언급URL : https://stackoverflow.com/questions/46471187/mariadb-regex-working-in-online-regex-testers-does-not-work-in-select-where-rege