【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(模糊查询)
模糊查询的正则表达式:.*?关键字.*
测试