在python中使用“`%``格式时验证字符串参数的正则表达式

在python中使用“`%``格式时验证字符串参数的正则表达式,python,regex,Python,Regex,在python中,您可以使用%-如下格式设置参数格式: "Foo %(bar)" % {"bar": baz} 我在Python中使用了一些参数,如%(name)s,用于字符串呈现(我正在编写一个自动邮件应用程序),但在使用之前我不知道如何计算它,因为如果用户输入了错误的参数,如%(name或%name或%name)s或%%name()s或类似的参数,应用程序将出错。此正则表达式与“正确”输入,例如%(foo)s: 这允许名称使用任何“word”字符。要将“name”部分仅限于小写字母(如您的

在python中,您可以使用
%
-如下格式设置参数格式:

"Foo %(bar)" % {"bar": baz}
我在Python中使用了一些参数,如
%(name)s
,用于字符串呈现(我正在编写一个自动邮件应用程序),但在使用之前我不知道如何计算它,因为如果用户输入了错误的参数,如%(name或%name或%name)s或%%name()s或类似的参数,应用程序将出错。

此正则表达式与“正确”输入,例如
%(foo)s

这允许名称使用任何“word”字符。要将“name”部分仅限于小写字母(如您的示例所示):


发布有效和无效字符串的例子。因此,有有效的:<代码> %(FO)<代码> >代码> %%(FoO)s <代码>,<代码> %(FoO ,<代码> %FO < /代码>等等。只有%s(s)s形式的字符串是有效的。注意某些东西可以包含“%”(“或”),而不是BoToP说中间的字符串可以包含<代码> %。(或
)s
但不是both@Smac89我认为英语不是OP的第一语言。问题中输入错误的例子表明这是他想要的。@Bohemian:Smac89是正确的。我还需要测试这个案例。很抱歉没有在问题中提及。有什么建议吗?但你的评论说“只有%(something)s形式的字符串是有效的。”“。请通过在问题中张贴每个问题的示例来澄清什么是有效的,什么是无效的。
^%\(\w+\)s$
^%\([a-z]+\)s$