我想提取':'和'|'之間的文本字符,但在第二和第三數據有後的一個空格 ':'可變長度Lookbehinds RegEx在Python中不起作用
的intput:
Referencia:22726| Referencia Cliente Ak: 233726 | Referencia histórica: 256726 | Suelo | AGOLADA (Pontevedra) - CARPAZO O PE#A LONJA [EXTRACT]
Referencia:39766| Referencia Cliente Ak: 39767 | Referencia histórica: 39768 | Garaje | MOJACAR (Almería) - URB.VILLA MIRADOR DEL MAR - MOD. # [EXTRACT]
Referencia:397A5| Referencia Cliente Ak: 397B5 | Referencia histórica: 397C5 | Garaje | MOJACAR (Almería) - VILLA MIRADOR DEL MAR-MODULO #-PLAZA 4 [EXTRACT]
Referencia:AA39803| Referencia Cliente Ak: P_39803 | Referencia histórica: 200_39803 | Garaje | MOJACAR (Almería) - VILLA MIRADOR DEL MAR - MODULO [EXTRACT]
輸出期望:
22776
233726
256726
39766
39767
39768
397A5
397B5
397C5
AA39803
P_39803
200_39803
我的第一圖案:(?<=:)(\w{5,12})
這僅匹配第一列。
我的第二個模式:(?<=:\s)(\w{5,12})
此相匹配的第二和第三列
所以,我認爲,我的第三個模式是正確的:(?<=:\s?)(\w{5,12})
這種模式不工作。
可以使用'regex'模塊,它支持在向前看符號和lookbehinds可變長度。他們說,計劃替換標準的「重新」模塊。你可以用Pip安裝它。 ('pip install regex')。 – Shule