>  Q&A  >  본문

문제: MySQL 정규 표현식(리미터가 작동하지 않음)

모드 참고: 삭제하지 마세요/닫지 마세요 이전에 이 질문을 올렸는데 관리자가 다른 사용자의 질문과 비슷하다고 생각해서 닫았습니다. 그들이 나에게 추천한 스레드를 살펴보았는데 거기에는 내가 겪고 있던 수치적 문제가 포함되어 있지 않았습니다. 이 스레드는 전체 문자열을 정규식과 어떻게 일치합니까?


내 질문/질문: REGEXP는 거짓양성을 반환합니다.

으아아아

제가 읽은 바에 따르면 중괄호 {1,4} 부분은 최소 1회, 최대 4회 ​​등장한다는 의미입니다. 하지만 위에서 보면 [0-9] 범위가 4보다 더 자주 나타나지만 쿼리에서는 0 대신 1을 반환합니다. 스크린샷을 첨부했습니다. 내가 무엇을 놓치고 있나요? 감사해요.

Workbench 예시 스크린샷

P粉684720851P粉684720851180일 전278

모든 응답(1)나는 대답할 것이다

  • P粉242535777

    P粉2425357772024-04-03 00:54:29

    으아아아

    "앵커링"을 사용하면 전체 문자열을 일치시키도록 요청합니다. 위 작업은 4개 제한으로 인해 실패합니다.

    으아아아

    최소 자릿수 이상을 허용하므로 통과되었습니다.

    으아아아

    마지막 두 개에는 [^0-9]가 포함됩니다. 이는 "0-9를 제외한 모든 숫자.

    자세한 안내^

    • 정규 표현식의 시작 부분에서 ^ 将处理“锚定”在开头: REGEXP "^x" 表示“以 x 开头”;如果“x”位于字符串中的任意位置,则 REGEXP "x"가 성공합니다.
    • "문자 집합"의 시작 부분에서 ^ 表示“不”: REGEXP "x[0-9]" 查找 x 后紧跟一个数字' REGEXP "x[^0-9]" x는 바로 뒤에 오는 숫자가 아니라 x를 찾습니다.
    • 회신하다
      0
  • 취소회신하다