我有一个关于我的剧本的问题:
我想在处理之前检查变量的形式,这可能只使用3种符号:
1.'Module'(仅限字符串)
1.'example::module::submodule'(可发生1至X次)
1.字符串不能包含以下字符:'/*?"<>|”
我现在写了这个REGEX命令,想知道这是否是最佳的,或者有更好的解决方案:
if( re.match( '(^[\/\*?"<>|])|(\w+::\w+)|([A-Za-z]+$)' , Module ) ) :
print( f"[ MSG ] Processing Module '{Module}' ..." )
else :
print( f"[ ERROR ] The Specified Module '{Module}' Is Not Allowed !"
输出:
'Test Environment' -> OK
'Test Environment::Test::New' -> OK
'Test Environment:Test::New' -> Not Allowed
'Test Environment' - Not Allowed
测试是成功的,但我不确定。
提前感谢NumeroUnoDE
1条答案
按热度按时间guykilcj1#
我会把你的正则表达式表达为:
说明:
^
从字符串开始\w+
匹配一个单词(?:
(?: |::)
匹配空间或::
一次\w+
后跟一个单词)*
零次或多次$
字符串结尾Demo