source

mysql-10.4.24-MariaDB의 REGEXP_REPLACE를 사용하여 문자열에서 및 I의 allocurance를 제거하려면 어떻게 해야 합니까?

nicesource 2023. 6. 8. 19:53
반응형

mysql-10.4.24-MariaDB의 REGEXP_REPLACE를 사용하여 문자열에서 및 I의 allocurance를 제거하려면 어떻게 해야 합니까?

REGEXP_REPLACE를 사용하여 문자열에서 및 I의 모든 발생을 제거하려면 어떻게 해야 합니까?다음을 시도했지만 작동하지 않습니다.

regexp_replace('123,|4abcd, aaa|,qqq|a', '|,', '', 'g')

미안해요, 그리고 |.

하는 것이 편리합니다.|그리고.*문자 클래스(각괄호) 내에서 특별한 의미를 잃어버립니다.

mysql> select regexp_replace('123*,|4abcd, aaa|,qqq|a', '[|*,]', '') as s;
+------------------+
| s                |
+------------------+
| 1234abcd aaaqqqa |
+------------------+

정규식에는 대괄호를 사용합니다.즉, 괄호 안의 문자 중 하나와 일치해야 합니다.

또한 당신이 사용한 마지막 주장은,'g'지원되지 않으며 필요하지 않습니다.나는 당신이 대체품을 적용할 때 vim처럼 여러 번 적용하는 것을 의미한다고 생각한다고 생각합니다.s/regexp/string/g하지만 MySQL과 MariaDB의 경우에는REGEXP_REPLACE()기본적으로 문자열의 모든 일치 항목에 바꾸기를 적용합니다.

MariaDB 10.4를 사용한 시연: https://dbfiddle.uk/ZFNMTfJ6

언급URL : https://stackoverflow.com/questions/75078017/how-can-i-remove-all-ocurance-of-and-i-from-a-string-using-regexp-replace-in-m

반응형