현재 Poedit으로 웹 사이트 (Smarty)를 번역하는 중입니다. .tpl 파일에서 모든 텍스트를 얻으려면 정규식을 사용하여 {t}와 {/ t} 사이의 데이터를 가져옵니다. 그래서 예 :Regex : 여러 대괄호 사이의 값 읽기
{t}Password incorrect, please try again{/t}
정규식은 Password incorrect, please try again
를 읽고와 .po 파일에 배치됩니다. 이것은 모두 정상적으로 작동합니다. 조금 더 발전하면 잘못됩니다.
때때로 {t} 태그 사이의 텍스트에 매개 변수가 사용됩니다. 이 모양은 다음과 같습니다.
{t 1=$email|escape 2=$mailbox}No $1 given, please check your $2{/t}
위의 코드는 매우 효과적입니다. 결과가 2=$mailbox}visit %1 or go to your %2
될 것입니다 그래서 첫 번째 닫는 괄호를 볼 때
{t 1={site info='name'} 2=$mailbox}visit %1 or go to your %2{/t}
내 정규식 닫습니다 :이 같은 매개 변수 내에서 괄호를 사용하는 경우
진짜 문제
시작.내 정규식은 다음과 같습니다
\{t.*?\}?[}]([^\{]+)\{\/t\}|\{t\}([^\{]+)\{\/t\}
정규식은 자바 프로그램 내에서 사용된다.
누구든지이 문제를 해결할 방법이 있습니까?
수정 중첩 된 괄호를 처리하는 파서를 작성하는 것입니다. 정규식은이 유형의 문제를 잘 처리하지 못합니다. –