문제

'CA'또는 'CA [숫자]로 끝나지 않는 라인을 일치시키고 싶습니다. MySQL에서 rlike를 사용하여 어떻게해야합니까? (지원하지 않습니까?? 등).

다음은 긍정적 인 일치에 대한 정규식입니다. 단지 그것을 부정하는 방법이 필요합니다. '^.*[C][A][0-9]?$'

(당황스러운 아키텍처 제한으로 인해 사용하고 싶지 않습니다. not rlike ...)

도움이 되었습니까?

해결책

트릭은 당신이 무엇을 설명하는 것입니다. 하다 일치하고 싶다. 다음은 CA 또는 CA (Digit)로 끝나지 않습니다.

그것은 또는 숫자가 아닌 다른 것으로 끝나거나

그것은 A, 그 다음에 숫자로 끝나거나

그것은 C, A, 숫자 또는 숫자로 끝나거나

C, A, 또는

그것은 숫자가 뒤 따릅니다

그것은 a 또는 숫자와 같습니다

비어 있습니다.

그래서:

rlike '[^A0-9]$|[^A][0-9]$|[^C]A[0-9]$|[^C]A$|^A[0-9]$|^[A0-9]$|^$'

테스트되지 않은 "최적화", 아마도 위의 어딘가에 적어도 하나의 오류 일 것입니다.

다른 팁

레 독은 테이블의 열에서 나옵니다. 대부분의 패턴은 이미 작동합니다. 따라서이 패턴을 기존 구조 내에서 작동시킬 수 있다면 가장 쉬운 일입니다.

나는 한 번 비슷한 일을했는데, 내가 한 일은 정규 표현식 (사례 감수성, 고정, 부정 등)에 대한 옵션을 포함하는 다른 열 (비트 필드를 사용했다고 생각합니다)이었습니다. 비슷한 접근법이 당신에게 효과가있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top