python正则表达式可选匹配连字符

时间:2014-06-10 21:29:33

标签: python regex

如何编写正则表达式以接受连字符,但不是强制性的。

由于文件夹名称中可以包含连字符,有时不包含连字符。

我试过这个:

r'^(?P<event_folder_name>[\w-]+)/$/result

它只接受连字符

如果我这样做:

r'^(?P<event_folder_name>\w+)
如果包含连字符,它不会接受它。

我怎样才能接受这两种情况。

感谢。

1 个答案:

答案 0 :(得分:2)

首先,$符号匹配字符串的结尾。正则表达式中的任何内容都将被丢弃。

其次,你的第一条规则对我来说似乎没问题(当然,除了表达中间的$)。 [\w-]+表示任何字母数字字符(\w)或连字符(-)一次或多次([]+)。