# 100만 개 게시물에서 여러 정규식으로 문자열을 가장 빠르게 교체하는 방법은?

**URL:** <https://meta.discourse.org/t/whats-the-fastest-way-to-replace-strings-with-multiple-regexes-in-1-million-posts/161749>\
**Category:** Product Support\
**Created:** [8월 22, 2020, 10:21오전 UTC](https://meta.discourse.org/t/whats-the-fastest-way-to-replace-strings-with-multiple-regexes-in-1-million-posts/161749 "2020-08-22T10:21:13Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)\
**Post date:** [8월 22, 2020, 2:21오후 UTC](https://meta.discourse.org/t/whats-the-fastest-way-to-replace-strings-with-multiple-regexes-in-1-million-posts/161749/5 "2020-08-22T14:21:50Z")

</div>

> [@Canapin](#):
>
> 이미 가져온 Discourse 데이터, 특히 게시글 ID와 연결된 데이터(사용자, 주제, 첨부파일, 영구 링크 등)에는 영향을 주지 않고 게시글만 다시 가져오는 방법이 있는지 아시는 분 계신가요?

@Canapin 님, 안녕하세요.

그 고충을 잘 이해합니다. 저희도 원래 마이그레이션을 마친 후, 수십 년 동안 전 세계 각지에서 복사해서 붙여넣은 코드를 정리하기 위해 상당한 양의 커스텀 Ruby 코드를 작성했습니다. 더不用说, 모든 문자 깨짐(mojibake) 문제와 이상한 문자 집합, 그리고 마이그레이션 중에 깔끔하게 정리하려면 많은 Ruby 특유의 처리가 필요했던 중첩된 다양한 bbcode 문제까지 있었습니다.

이를 수행하는 것은 쉽지 않았고 오랜 시간(그리고 수많은 마이그레이션 시도)이 걸렸지만, 저희는 주로 코딩 포럼이었기 때문에, 만약 님의 포럼이 대부분 텍스트(코드가 아닌)로 구성되어 있다면 훨씬 더 직관적으로 진행될 수 있을 것입니다.

저희 팀은 또한 "이것과 저것을 다소 복잡하게 이스케이프한다"는 식의 REGEX를 많이 작성해야 했습니다. 수년에 걸쳐 사람들이 그렇게 많은 중첩된 bbcode를 게시했기 때문에, 그 모든 레거시 중첩 bbcode를 마크다운으로 변환하는 것은 쉽지 않기 때문입니다. 또한 게시된 지 수년 후에 보면 가치가 거의 없다고 판단된 많은 bbcode도 제거했습니다.

위에서 질문하신 원래 질문에 답변드리자면:

네, 마이그레이션 스크립트에서 건너뛰고 싶은 메서드를 주석 처리하면 됩니다.

실제로 저희는 마이그레이션 메서드의 상당 부분을 완전히 다시 작성했지만, vB3 마이그레이션이 지원되지 않는다는 점을 고려할 때, 그것들은 매우 좋은 출발점이었고 매우 유용했습니다.

---

_[View the full topic](https://meta.discourse.org/t/whats-the-fastest-way-to-replace-strings-with-multiple-regexes-in-1-million-posts/161749)._
