관리 메뉴

기억을 위한 기록들

[UE-CPP] 언리얼엔진 C++ 에서의 정규표현식(regex) 본문

UnrealEngine/UE4 - CPP

[UE-CPP] 언리얼엔진 C++ 에서의 정규표현식(regex)

에드윈H 2024. 3. 8. 12:51

이전에 std의 정규표현식에 관해 글을 작성하고, 언리얼에서 제공하는 정규표현식을 찾아보았다.

https://hyo-ue4study.tistory.com/613

 

[CPP] C++ 정규 표현식 (regex / regular expression)에 관하여

C++ 11부터 포함된 정규 표현식( regular expression )이라는 라이브러리가 존재합니다. 정규표현식이란 문자열에서 특정 패턴을 찾거나 혹은 매치시키기 위해 사용되는 문자열의 표현으로, 헤더 파일

hyo-ue4study.tistory.com

 

 

언리얼엔진에서 정규표현식 관련된 클래스가 정의 되어 있다.

FRegexPattern 이라는 클래스로 엔진 경로 "UE_5.2\Engine\Source\Runtime\Core\Public\Internationalization\Regex.h"에 존재한다.

Regex.h
대소문자를 구분 관련된 enum파라미터

 

 

Regex.h

 

언리얼에서는 std의 정규표현식에서 3가지(match, search, replace) 함수 중에 match와 관련된 FRegexMatcher 라는 클래스만 정의되어 있다.

 

 

간략하게 예를 들면,

 

//  TArray<FString> EmaliList; // 이메일이라는 배열 
//  FString		   searchString; // 패턴으로 되는 문자열
//  FString		    account;   // 검색대상  문자열
{
//..
        const FRegexPattern pattern(searchString);



		for (const FString& iter : EmaliList)
		{
			FRegexMatcher matcher(pattern, account);
			if (matcher.FindNext())
			{
				//검색 성공!
			}
		}
//..
}