正则表达式中的可选参数

时间:2011-03-30 06:53:29

标签: python regex

我想使用正则表达式

选择几个参数

目前我的网址是

  

的http:// [IPADDRESS] / StoreData / 10/20/30 /五十零分之四十〇

因为有5个编号的参数,现在有时我想要4或有时5

  

即。   HTTP:// [IPADDRESS] / StoreData / 10/20 /四十零分之三十零

应该可以接受

这是我的正则表达式

(?P<dataone>([0-9])+)/(?P<datatwo>([0-9])+)/(?P<datathree>([0-9])+)/(?P<datafour>([0-9])+)/(?P<datafive>([0-9])+)/

2 个答案:

答案 0 :(得分:4)

?修饰符使正则表达式的一部分成为可选:

(?P<dataone>([0-9])+)/(?P<datatwo>([0-9])+)/(?P<datathree>([0-9])+)/(?P<datafour>([0-9])+)/((?P<datafive>([0-9])+)/)?

请注意“datafive”子模式周围的(...)?

答案 1 :(得分:0)

StoreData/(?P<dataone>([0-9])*)/(?P<datatwo>([0-9])*)/(?P<datathree>([0-9])*)/(?P<datafour>([0-9])*)/?(?P<datafive>([0-9])*)/?$

将是必需的正则表达式。如果需要,可以逃避正则表达式。

回答Petri Lehtinen和Lasse V. Karlsen,它也将处理尾随反斜杠。