我有这种模式可以从字符串中提取数字。
ptns = { 'clean1': re.compile(r'[-&\s]+',re.UNICODE),'clean2': re.compile(r'\bABCS?(?:[/\s-]+KE|(?=\s*\d))|\bFOR\s+(?:[A-Z]+\s+)*','data' : re.compile(r'\b(\d{4,6})(?=[A-Z/_]|$)',re.UNICODE) }
我想为模式添加一些条件,并且不要触及旧的条件,因此一开始我总是应该使用ABCDEFGS,ABCDEFG,ABC,JUSTIF
一词。
有时候,我在字符串末尾有一个可选的‘S’
,例如:ABCDEFGS。
我想从此文本中提取包含4,5 or 6
位数字的所有数字。要添加到模式中以提取数字的条件和条件:
- Attached to ABC then ‘.’ (sometimes I have only one number sometimes I have a list of a numbers)
- Attached to ABC space then ‘.’ (sometimes I have only one number sometimes I have a list of a numbers)
- after ABCDEFGS then space
- after ABCDEFG + space (line 4)
- after JUSTIF then ‘.’ space
- After ABC but between ( ) ⇒ See example bellow.
数据集示例,预期结果为:
Column New_column
————————————————————————————————————————
Hoy es día ABCDEFGS 05327 - 05771 - 06045 todas las mañanas | [05327,05771,06045]
————————————————————————————————————————
todas las mañanas ABCDEFG 6661 & ABCDEFG 11440 Se viste | [6661,11440 ]
————————————————————————————————————————
escuela ABCDEFG 19652 matemáticas Hoy es día | [19652]
————————————————————————————————————————
y comienza ABCDEFG 76192/T85921 el camino hacia | [76192]
————————————————————————————————————————
Marcos se ABCDEFG 13462 S22786 camino | [13462]
————————————————————————————————————————
encuentra con su ABC. 19390 / 19351 viste,desayuna | [19390,19351]
————————————————————————————————————————
escuela ABC.5498/5499/5470/5471 DEFINE AND DESIGN IMPROVE | [5498,5499,5470,5471]
————————————————————————————————————————
l camino hacia la ABC.20974 Marcos se | [20974]
————————————————————————————————————————
todas las mañanas ABC 160879-P15989/ 160878-P20181/160878-P20182 AND 160879-P20183 [160879,160878,160879]
————————————————————————————————————————
ABC. 5498/5499/5470/5471 l camino hacia la | [5498,5471]
————————————————————————————————————————
todas las JUSTIF. 103383/L25469 todas | [103383]
————————————————————————————————————————
las (ABC 38770) OR CFM56-5B1/3 (ABC 37147) camino | [38770,37147]
————————————————————————————————————————
hacia la (POST ABC 161104) hacia la | [161104]
————————————————————————————————————————
DEFINE AND DESIG ABC/KE: 73620T80840 DEFINE | [73620 ]
————————————————————————————————————————
DEFINE AND DESIGN IMPROVE ABC (39729) IMPROVE | [39729]
————————————————————————————————————————