Python正则表达式可选匹配连字符
我该如何写正则表达式,让它可以接受连字符,但不强制要求有连字符呢?
因为文件夹的名字有时可以包含连字符,有时又不需要。
当我尝试这样写的时候:
r'^(?P<event_folder_name>[\w-]+)/$/result
它只会接受带有连字符的情况。
如果我这样写:
r'^(?P<event_folder_name>\w+)
那么如果包含连字符,它就不接受了。
我该如何让它同时接受这两种情况呢?
谢谢。
1 个回答
3
首先,$符号表示字符串的结尾。在正则表达式中,$后面的内容会被忽略掉。
其次,你的第一个规则看起来没问题(当然,中间的$符号除外)。[\w-]+
的意思是可以匹配一个或多个字母、数字(\w
)或者连字符(-
)。