基于可选子字符串捕获可选组的正则表达式

2024-09-30 01:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个正则表达式来基于可选子字符串捕获可选组。例如:

DATEF[[%d/%m/%Y %H:%M 
DATEF[[%H:%M]]
DATEF
TIME

等等

我希望捕获DATE和参数%H:%M。 表达式(.*?)\[\[(.*?)\]\]使用参数,但可选的排除字符串失败并返回null。在


Tags: 字符串参数datetime表达式nulldatef
1条回答
网友
1楼 · 发布于 2024-09-30 01:27:11

我建议这样做:

/^([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

相关问题 更多 >

    热门问题