정규식 일치
- 업데이트 날짜:2025-07-30
- 4분 (읽기 시간)
입력한 오프셋에서 시작하여 입력 문자열에서 정규식을 검색합니다. 함수가 일치하는 식을 찾으면 문자열을 세 개의 부분 문자열로 분리하고 부분 일치를 출력합니다. 문자열에 발견된 부분 일치를 보기 위해서 함수를 크기 조정합니다.

입력/출력
여러 라인? (거짓)
—
대소문자 구분 무시? (거짓)
—
입력 문자열
—
정규식
—
오프셋(0)
—
에러 입력
—
일치 구문 앞
—
전체 일치 구문
—
일치 구문 뒤
—
일치 구문 뒤의 오프셋
—
에러 출력
—
|
정규식 지원은 PCRE 라이브러리 패키지에 의해 제공됩니다. PCRE 라이브러리 패키지의 재배포 라이센스에 대한 더 자세한 정보는 <National Instruments>\_Legal Information 디렉토리를 참조하십시오.
Perl Compatible Regular Expressions (PCRE)에 대한 더 자세한 정보는 www.pcre.org의 PCRE 웹사이트를 참조하십시오.
[정규식 일치] 함수는 문자열 일치에 더 많은 옵션을 제공하지만 [패턴 일치] 함수보다 느리게 수행됩니다.
이 함수의 정규식을 사용하여 검색을 상세화합니다.
스택 오버플로우 방지하기
반복되는 그룹 식((.|\s)* 또는 (a*)*)을 사용하는 특정 정규식은 큰 입력 문자열에 적용되었을 때 처리에 상당히 많은 리소스를 요구합니다. 몇몇 경우에는 큰 입력 문자열에서 스택 오버플로우가 발생할 수 있습니다. 일부 정규식은 큰 문자열을 일치시키려고 할 때 반복적으로 재귀될 수도 있으며, 결과적으로 이로 인해 스택이 오버플로우될 수 있습니다. 예를 들어 정규식 (.|\n)*A와 큰 입력 문자열을 사용하면 LabVIEW가 충돌할 수도 있습니다. 재귀를 피하려면, 정규식 (.|\n)*A를 (?s).*A로 다시 작성합니다. (?s) 표기법은 주기가 새로운 라인에 일치함을 나타냅니다. 또한 식을 [^A]*A와 같이 다시 작성할 수도 있습니다.
패턴을 그룹화하여 부분 일치 찾기
함수가 부분 일치로 반환할 정규식 부분에 괄호 ( )를 쳐서 부분 일치를 찾을 수 있습니다. 예를 들어 정규식 (el.)..(L..)은 입력 문자열 Hello LabVIEW!에서 다음과 같은 부분 일치 두 개를 반환합니다: ell, Lab 각 부분 일치 구문은 정규식에서 문자 그룹이 나타나는 순서대로 문자 그룹에 대응합니다. 이 예에서, 부분 일치 1은 ell이고, 부분 일치 2는 Lab입니다.
다른 문자 그룹 안에 문자 그룹을 넣으면, 정규식은 안의 그룹보다 밖의 그룹의 부분 일치 구문을 먼저 생성합니다. 예를 들어 정규식 (.(el.).).(L..)은 입력 문자열 Hello LabVIEW!에서 다음과 같은 부분 일치 구문 세 개를 반환합니다: Hello, ell, Lab 이 예에서, 정규식이 안쪽 문자 그룹보다 바깥쪽 그룹을 먼저 일치시키기 때문에 부분 일치 구문 1은 Hello입니다.
정규식 예
다음 테이블은 [정규식 일치] 함수와 함께 사용할 수 있는 정규식의 예를 보여줍니다.
| 검색할 문자 | 정규식 |
|---|---|
| VOLTS | VOLTS |
| 더하기 부호 또는 빼기 부호 | [+-] |
| 하나 또는 그 이상 자릿수의 시퀀스 | [0-9]+ |
| 제로 또는 그 이상의 스페이스 | \s* 또는 * (즉, 별표 앞의 스페이스) |
| 하나 또는 그 이상의 스페이스, 탭, 새 라인 또는 캐리지 리턴 | [\t \r \n \s]+ |
| 숫자 이외의 하나 또는 그 이상의 문자 | [^0-9]+ |
| 문자열의 시작에 나타나는 경우 단어는 레벨만 | ^레벨 |
| 문자열의 끝에 나타나는 경우 단어는 볼트만 | 볼트$ |
| 괄호 안에서 가장 긴 문자열 | \(.*\) |
| 괄호안에서 가장 처음이고 안에 괄호를 포함하지 않는 문자열 | \([^()]*\) |
| 왼쪽 대괄호 | \[ |
| 오른쪽 대괄호 | \] |
| cat, cag, cot, cog, dat, dag, dot 및 dog | [cd][ao][tg] |
| cat 또는 dog | cat|dog |
| dog, cat dog, cat cat dog,cat cat cat dog, 등 | ((cat )*dog) |
| 하나 또는 그 이상의 문자 a, 스페이스, 같은 개수의 문자 a, 즉 a a, aa aa, aaa aaa 등 | (a+) \1 |
여러 라인? (거짓)
—
입력 문자열
—
오프셋(0)
—
에러 입력
—
일치 구문 앞
—
일치 구문 뒤의 오프셋
—
에러 출력
—