버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

이 문서는 Table Filter, Charts & Spreadsheet 애드온의 필터 기능에 대한 가이드를 제공하기 위해 작성되었습니다.

목차

목차
exclude목차



...

페이지에서 인라인 필터 적용하기

...

텍스트 필터에서 JavaScript 스타일의 정규 표현식을 사용할 수 있습니다.

Pattern

Description

Escaping

\

특수문자를 리터럴로, 리터럴 문자를 특수문자로 이스케이프합니다.

예: /\(s\)/'(s)'와 일치하고, /(\s)/ 공백과 일치하고, 일치 항목을 캡처합니다.

Quantifiers

{n}{n,}, {n,m}, *, +, ?

Quantifiers는 앞에 나오는 서브패턴을 일정 횟수만큼 매칭합니다. 서브패턴은 단일 문자, 이스케이프 시퀀스, 괄호로 묶인 패턴, 혹은 문자 집합일 수 있습니다.

  • {n} : 정확히 n번 매칭합니다.

  • {n,} : n번 이상 매칭합니다.

  • {n,m} : n번에서 m번까지 매칭합니다.

  • * : {0,}의 약어로, 0번 이상 매칭합니다.

  • + : {1,}의 약어로, 1번 이상 매칭합니다.

  • ? : {0,1}의 약어로, 0번 또는 1번 매칭합니다.

예시: /o{1,3}/은 "tooth"에서 'oo'를, "nose"에서 'o'를 매칭합니다.

Pattern delimiters

(pattern), (?:pattern)

전체 패턴을 매칭합니다.

  • (pattern): 매칭된 부분을 캡처합니다.

  • (?:pattern): 매칭은 하지만 캡처하지 않습니다.

예시: / (d).\1 /는 "abcdadef"에서 'dad'를 매칭하고 캡처하며, / (?:.d){2} /는 'cdad'를 매칭하지만 캡처하지는 않습니다.

참고: (?:pattern)은 JavaScript 1.5 기능입니다.

Lookaheads

(?=pattern), (?!pattern)

Lookahead은 앞의 하위 표현식이 특정 패턴에 의해 뒤따를 때만 매칭되며, 그 패턴은 실제 매칭에 포함되지 않습니다. 하위 표현식은 정규 표현식에서 매칭될 부분을 의미합니다.

  • (?=pattern): 입력에서 뒤에 특정 패턴이 있는 경우에만 매칭됩니다.

  • (?!pattern): 입력에서 뒤에 특정 패턴이 없는 경우에만 매칭됩니다.

예시: /Win(?=98)/는 'Win'이 '98'로 이어질 때만 'Win'을 매칭합니다.

참고: JavaScript 1.5 기능입니다.

Alternation

|

대체 문자 양쪽의 콘텐츠와 일치합니다.

예: /(a|b)a/"dseaas"의 'aa'와 "acbab"의 'ba'와 일치합니다.

Character sets

[characters], [^characters]

포함된 문자 중 하나와 매칭됩니다. 문자 범위는 하이픈을 사용해 정의할 수 있습니다.

  • [characters]: 포함된 문자 중 하나와 매칭됩니다.

  • [^characters]: 문자 집합을 부정하여, 포함된 문자를 제외한 모든 문자와 매칭됩니다.

예시: /[abcd]/는 'a', 'b', 'c', 'd' 중 하나와 매칭되며, /[a-d]/로 축약할 수 있습니다. 범위는 반드시 오름차순이어야 하며, 그렇지 않으면 오류가 발생합니다. (예: /[d-a]/는 오류를 발생시킵니다.)
/[^0-9]/는 숫자를 제외한 모든 문자와 매칭됩니다.

참고: 대부분의 특수 문자는 문자 집합 안에서 자동으로 이스케이프 처리되어 그대로의 의미로 사용됩니다.

Special characters

^, $, ., ? and all the highlighted characters above in the table.

특수 문자는 겉으로 보이는 것과는 다른 것을 매칭하는 문자들입니다.

  • : 입력의 시작 부분과 매칭됩니다 (또는 m 플래그를 사용하면 줄의 시작과 매칭).

  • : 입력의 끝과 매칭됩니다 (또는 m 플래그를 사용하면 줄의 끝과 매칭).

  • : 줄 바꿈 문자를 제외한 모든 문자와 매칭됩니다.

  • : 수량자 바로 뒤에 오면, 수량자를 비탐욕적(Non-greedy)으로 만들어 최소한의 횟수로 매칭되게 합니다 (정의된 범위의 최대값이 아닌 최소값과 매칭).

예시: /(.)*?/는 모든 문자열에서 아무것도 매칭하지 않거나 ''와 매칭합니다.

참고: 비탐욕적 매칭은 Netscape Navigator 4나 Microsoft Internet Explorer 5.0과 같은 구형 브라우저에서는 지원되지 않습니다.

Literal characters

특별하게 지정된 의미가 있는 문자를 제외한 모든 문자

해당 문자에 직접 매핑됨.

예: /a/"Any ancestor"의 'a'와 일치함.

Backreferences

\n

역참조(Backreferences)는 이전에 캡처된 매칭과 동일한 것을 참조하는 방식입니다. n은 양의 정수로, 브라우저에게 어느 캡처된 매칭을 참조할지를 나타냅니다.

  • /(\\S)\\1(\\1)+/g : 연속된 세 개의 동일한 공백이 아닌 문자를 모두 매칭합니다.

  • /<(\\S+).*>(.*)<\\/\\1>/ : 동일한 태그를 매칭합니다.

예시: /<(\\S+).*>(.*)<\\/\\1>/는 "text<div id=\"me\">text</div>text"에서 '<div id="me">text</div>'을 매칭합니다.

Character Escapes

\f, \r, \n, \t, \v, \0, [\b], \s, \S, \w, \W, \d, \D, \b, \B, \cX, \xhh, \uhhhh

  • \\f : 폼 피드(Form-feed)를 매칭합니다.

  • \\r : 캐리지 리턴(Carriage return)을 매칭합니다.

  • \\n : 라인 피드(Linefeed)를 매칭합니다.

  • \\t : 수평 탭(Horizontal tab)을 매칭합니다.

  • \\v : 수직 탭(Vertical tab)을 매칭합니다.

  • \\0 : NUL 문자를 매칭합니다.

  • [\\b] : 백스페이스(Backspace)를 매칭합니다.

  • \\s : 공백 문자와 매칭됩니다 (짧게 [\f\n\r\t\v\u00A0\u2028\u2029]로 표현).

  • \\S : 공백이 아닌 문자와 매칭됩니다 (짧게 [^\f\n\r\t\v\u00A0\u2028\u2029]로 표현).

  • \\w : 알파벳, 숫자, 밑줄을 포함한 문자(Word characters)와 매칭됩니다 (짧게 [a-zA-Z0-9_]로 표현).

  • \\W : 문자 이외의 것과 매칭됩니다 (짧게 [^a-zA-Z0-9_]로 표현).

  • \\d : 숫자와 매칭됩니다 (짧게 [0-9]로 표현).

  • \\D : 숫자가 아닌 것과 매칭됩니다 (짧게 [^0-9]로 표현).

  • \\b : 단어 경계(단어와 공백 사이의 위치)와 매칭됩니다.

  • \\B : 단어 경계가 아닌 곳과 매칭됩니다 (짧게 [^\b]로 표현).

  • \\cX : 제어 문자(Control character)와 매칭됩니다. 예시: \\cm은 제어 문자 'M'을 의미합니다.

  • \\xhh : 두 자리 16진수 코드 hh로 표현된 문자와 매칭됩니다.

  • \\uhhhh : 네 자리 16진수 코드 hhhh로 표현된 유니코드 문자와 매칭됩니다.