이 글은 주로 SQL 정규식과 mybatis에서 정규식을 사용하는 방법을 소개합니다. 매우 훌륭하고 참고할만한 가치가 있습니다. 필요한 친구들이 참고할 수 있습니다.
mysql에서 제공하는 다른 유형의 패턴 매칭은 확장 정규식을 사용합니다. .
이러한 패턴에 대한 일치 여부를 테스트할 때는 REGEXP 및 NOT REGEXP 연산자(또는 동의어인 RLIKE 및 NOT RLIKE)를 사용하세요.
정규식을 확장하는 일부 문자는 다음과 같습니다.
"."는 모든 단일 문자와 일치합니다.
문자 클래스 "[...]"는 대괄호 안의 모든 문자와 일치합니다. 예를 들어 "[abc]"는 "a", "b" 또는 "c"와 일치합니다. 문자 범위의 이름을 지정하려면 "-"를 사용하십시오. "[a-z]"는 모든 소문자와 일치하고 "[0-9]"는 모든 숫자와 일치합니다.
" * "는 앞에 오는 항목 중 0개 이상과 일치합니다. 예를 들어, "x*"는 임의 개수의 "x" 문자와 일치하고, "[0-9]*"는 임의 개수의 자릿수와 일치하며, ".*"는 임의 개수의 임의 문자와 일치합니다.
정규식은 대/소문자를 구분하지만 원하는 경우 문자 클래스를 사용하여 두 글을 모두 일치시킬 수 있습니다. 예를 들어, "[aA]"는 소문자 또는 대문자 "a"와 일치하고 "[a-zA-Z]"는 두 가지 방식으로 작성된 모든 문자와 일치합니다.
테스트 중인 값의 어느 위치에나 나타나면 패턴이 일치합니다(SQL 패턴은 전체 값과 일치하는 한 일치합니다).
테스트 중인 값의 시작 또는 끝과 일치하도록 패턴을 배치하려면 패턴 시작 부분에 "^"를 사용하거나 패턴 끝 부분에 "$"를 사용하세요.
확장 정규식이 어떻게 작동하는지 설명하기 위해 위에 표시된 LIKE 쿼리는 REGEXP를 사용하여 아래에 다시 작성되었습니다.
"b"로 시작하는 이름을 찾으려면 "^"를 사용하여 이름의 시작 부분과 일치시키고 "[ bB] "는 소문자 또는 대문자 "b"와 일치합니다.
mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
Myabtis
<select id="provinceLists" resultMap="BaseCountry" parameterType="java.lang.String"> select code,label from institution where admlvl = '2' and code REGEXP "[0-9]*\.[0-9]*" </select> <select id="cityLists" resultMap="BaseCountry" parameterType="java.lang.String"> select code,label from institution where admlvl = '3' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*" </select> <select id="countyLists" resultMap="BaseCountry" parameterType="java.lang.String"> select code,label from institution where admlvl = '4' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"; </select>
에서 직접 정규식을 사용하세요.
위 내용은 mybatis에서 사용되는 SQL 정규식 및 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!