query-replace
정규식 검색과 대체를 결합하여 검색 결과를 부분적으로 재사용하려면 어떻게 해야 합니까 ?
내 경우에는 변환하는 방법
프로그래머는 서브루틴 "load_students" 및 "compute_student_grade"에 버그가 없다고 "다소" 믿습니다.
입력하다
프로그래머는 서브루틴 \texttt{load_students} 및 \texttt{compute_student_grade}에 오류가 없다고 "어느 정도" 신뢰합니다.
두 개를 사용하여 "예"와 "아니요"를 누를 수 있지만 query-replace
큰 문서의 경우 속도가 느린 것 같습니다. 또한 검색에 공백을 포함하는 것을 고려했지만( one "
및 one "
) 다음 경우에는 작동하지 않습니다.... that's not the way to use "load_students", rather ...
이를 달성하기 위해 내장된 것이 있습니까, 아니면 Elisp 코드를 작성합니까?
답변1
다음과 같이 사용할 수 있습니다 query-replace-regexp
.
M-x query-replace-regexp RET
\"\([^[:space:]]+\)\" RET
\\texttt{\1} RET
쿼리 문자열은 다음과 같이 생각할 수 있습니다. 공백이 아닌 하나 이상의 문자 시퀀스를 일치 그룹 1에 일치시키고(괄호는 그룹화에 사용됨) 모두 따옴표로 묶습니다.
\1
대체 문자열에 일치 그룹화를 삽입합니다.
앞의 이중 백슬래시는 texttt
백슬래시 문자를 해석에서 이스케이프 처리하기 위한 것입니다.
대신에 일치시키려는 것이 밑줄이 있는 여러 단어 기호뿐이라면 일치 문자열을 다음과 같이 변경해야 합니다.\(\w+_\w+\)