정규식 메타 언어에 대해 살펴보기 전에, 정규식이 문자열을 ‘소비’할 때 사용하는 알고리즘을
간단히 살펴봅시다.
●
문자열 왼쪽에서 오른쪽으로 진행합니다.
●
일단 소비한 글자에 다시 돌아오는 일은 없습니다.
●
한 번에 한 글자씩 움직이며 일치하는 것이 있는지 확인합니다.
●
일치하는 것을 찾으면 해당하는 글자를 한꺼번에 소비한 후 다음 글자로 진행합니다(정규식에 /
g
플래그를 써
서 전역으로 검색할 때에 해당합니다. 다시 설명합니다).
이것은 일반적인 부분만 훑어본 것이고, 당연히 이것보다 세밀한 알고리즘이 존재합니다. 예를
들어 일치하는 것이 없다고 판단하고 일찍 포기하는 알고리즘도 있습니다(성능이 개선됩니다).
정규식 메타 언어에 대해 설명할 때도 이 알고리즘을 계속 염두에 두십시오. 왼쪽에서 오른쪽으
로 진행하면서 한 번에 한 글자씩 소비하고, 일치하는 것을 찾으면 그 전체를 즉시 소비합니다.
17.6
대체
HTML
페이지를 문자열에 담았다고 합시다. 이 문자열에서 외부 자원을 가리키는 태그, 즉
<
a
>
,
<
area
>
,
<
link
>
,
<
script
>
,
<
source ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.