【UE】蓝图中的使用正则表达式

【UE】蓝图中的使用正则表达式

实现用于匹配判断的正则表达式。

添加蓝图库

编辑→插件→添加→选择蓝图库

命名创建后(我命名为regular),可以在内容菜单的Plugins里找到

打开编辑

regularBPLibrary.h

#pragma once

#include "Kismet/BlueprintFunctionLibrary.h"
#include "regularBPLibrary.generated.h"


UCLASS()
class UregularBPLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_UCLASS_BODY()
	UFUNCTION(BlueprintCallable)
	static bool RegularBool(const FString str, const FString Reg);
};

regularBPLibrary.cpp

#include "regularBPLibrary.h"
#include "regular.h"

UregularBPLibrary::UregularBPLibrary(const FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer)
{

}

bool UregularBPLibrary::RegularBool(const FString str, const FString Reg)
{
	FRegexPattern Pattern(Reg);
    //构造FRegexMatcher函数
	FRegexMatcher regMatcher(Pattern, str);
    //设置匹配限制
	regMatcher.SetLimits(0, str.Len());
    //是否查找到匹配内容并返回  
	return regMatcher.FindNext();
}

编写完成后编译(我这里用VS编译会报错,用ue编译就没有问题)

编译成功后,就可以在蓝图中调到Regular Bool

Demo(模糊查询)

模糊查询的正则表达式:.*?关键字.*

测试

猜你喜欢

转载自blog.csdn.net/dxs1990/article/details/131955314