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