문자열에서 대괄호 "[" "]"를 정규식으로 어떻게 바꾸나요?[ 및 ]가 정규식의 특수 문자라는 것을 알고 있지만 패턴 문자열의 특정 문자로 처리할 수 있는 올바른 이스케이프 문자열을 파악할 수 없습니다.
예를 들어 "[1 1 1]"을 "1 1 1"로 변환하고 싶습니다.
Re: 문자열에서 대괄호 "[" "]"를 정규식으로 어떻게 바꾸나요?간단한 것을 위해 대체품을 사용할 수 없습니까?
a = "[1 1 1]";
b = substitute(a, "[", "", "]", "");
show(b);
"1 1 1"
Re: 문자열에서 대괄호 "[" "]"를 정규식으로 어떻게 바꾸나요?아마도 이스케이프된 문자의 정규식 문제
아마도 JMP의 이스케이프가 정규식 이스케이프와 혼동되는 것과 싸우고있을 것입니다. @paul_vezzetti .
JMP 문자열은 \[ 및 ]\의 특별한 경우를 만듭니다. 어딘가에 JMP 문자열에서 JMP의 이스케이프를 끕니다.
\!\[ 를 시도하고 맨손으로 ] 를 사용하십시오. 정규식은 [문자 클래스]에 있지 않는 한 ]를 이스케이프할 필요가 없습니다.
regex("[1 2 3]","\!\[(.*)]","\1")"1 2 3"
\!\는 리터럴 백슬래시를 만들기 위한 JMP의 이스케이프입니다. 그러면 Regex는 \[를 보고 예상대로 작동합니다.
또는 \[ ... ]\ 를 사용할 수 있지만 정규식에 실제로 ]\ 가 필요하고 덜 명확해 보이는 경우 더 나쁜 문제가 발생합니다.
regex("[1 2 3]","\[\[(.*)]]\","\1")JMP가 이 이중 이스케이프 문제를 해결하기 위해 정규식 인용 문자열을 얻기를 바랍니다.