# 필터 내 Regular Expression(정규식)

String 데이터 유형인 필터 변수에는 정규식을 적용할 수 있습니다.

정규식 일치 여부를 /<regex>/.test(<variable>) 같이 반환할 수 있습니다.

- /DF\d\d\d\d/.test(smaple_name) // 뷰의 sample name이 DF\d\d\d\d 정규식과 일치할 경우 True 반환.

캡처된 문자열을 반환하는 /<regex(capture)>/.extract(<variable>)에서처럼, 캡처 문자열을 이용할 수 있으며, 이를 다른 문자열과 비교할 수 있습니다.

- /DF(\d\d\d\d)/.extract(sample_name) = '1234' // 정규식에서 네 자리를 캡처하고, 이를 '1234'와 비교함.

Note:

- 위 예들에서는 String으로 계산되는 뷰 수준의 변수 sample_name을 이용했습니다. String 데이터 유형 축을 이용하려 하면, 이들 변수는 문자열의 벡터로 계산될 수 있습니다. 하나의 뷰 안에 다수의 축 변수 인스턴스가 있을 수 있기 때문입니다. 이 경우, 다음처럼 정규식을 축 필터 안에서 사용해야 합니다.

  match[/FH\d\d\d\d/.test(feature_string)] // 이 식에서는 정규식이 각 일치 대상의 feature_string마다 적용됨. 일치 대상의 feature_string 중 정규식과 일치하는 것이 있으면, 해당 뷰가 포함됨.

  다음은 잘못된 필터 정규식의 예입니다.

  /FH\d\d\d\d/.test (match/feature_string) // 이 식은 뷰에 feature_string이 정규식과 일치하는 일치 대상이 포함되어 있으면, True를 반환해야 합니다. 하지만, 각 뷰에 다수의 일치 대상이 있을 수 있으므로, 이 식은 타당하지 않습니다.

- 정규식 안에서는 sets 변수를 쓸 수 없습니다.