2024-09-30 01:27:11 发布
网友
我想创建一个正则表达式来基于可选子字符串捕获可选组。例如:
DATEF[[%d/%m/%Y %H:%M DATEF[[%H:%M]] DATEF TIME
等等
我希望捕获DATE和参数%H:%M。 表达式(.*?)\[\[(.*?)\]\]使用参数,但可选的排除字符串失败并返回null。在
DATE
%H:%M
(.*?)\[\[(.*?)\]\]
我建议这样做:
/^([a-zA-Z]+)(?:\[\[([^\]]+)\]\])?$/
组1保存函数名,如果[[存在,组2捕获[[和{}之间的所有内容,如果正方形不存在,组2就根本不存在。在
[[
编辑:
注意:外部非捕获组包含一个捕获组:
/^([a-zA-Z]+) #captures the command (?:\[\[ #matches, but not captures the opening brackets ([^\]]+?) #captures the content of the brackets \]\])? #matches the closing brackets $/x
我建议这样做:
/^([a-zA-Z]+)(?:\[\[([^\]]+)\]\])?$/
组1保存函数名,如果}之间的所有内容,如果正方形不存在,组2就根本不存在。在
[[
存在,组2捕获[[
和{编辑:
注意:外部非捕获组包含一个捕获组:
相关问题 更多 >
编程相关推荐