我有串像下面查找字符串模式使用正則表達式與Python 3
字符串= 「您的收據號IVR/20170531/XVII/V/12652967和IVR/20170531/XVII/V/13652967」
我想發票號碼IVR/20170531/XVII/V/12652967和IVR/20170531/XVII/V/13652967到列表使用正則表達式使用此模式
result = re.findall(r'INV[/]\d{8}[/](M{1,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})|M{0,4}(CM|C?D|D?C{1,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})|M{0,4}(CM|CD|D?C{0,3})(XC|X?L|L?X{1,3})(IX|IV|V?I{0,3})|M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|I?V|V?I{1,3}))[/](M{1,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})|M{0,4}(CM|C?D|D?C{1,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})|M{0,4}(CM|CD|D?C{0,3})(XC|X?L|L?X{1,3})(IX|IV|V?I{0,3})|M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|I?V|V?I{1,3}))[/]\d{7,9}',string)
但結果是
[('XVII', '', '','', '', '', '', '', 'X', 'VII', '', '', '', 'V','','','', '', '', '', '', '', '', '', '', 'V')]
我http://regexr.com/嘗試這種模式,結果是適當的,但在python不
哪部分是你給的樣本串進行發票號碼? –
'IVR [^ \ s] +'對嗎? – depperm
我想你需要在你的模式中增加一些'|'... https:// regex101。com/r/OZNSem/1 –