![](/img/trans.png)
[英]How to match any string from a list of strings in regular expressions in python?
[英]How to match this strings with regular expressions?
我試圖只匹配此輸入的名稱:
5 OK 377035 F 17949 , RICHARDS/PATRICIA MARIE A 15/01/19 2878-578482-3
6 OK 377599 F 13282 , ZARATE/NICOLAS A 38586778 15/01/19 2878-578486-0
7 OK 378583 F 23296 /*/*/*/, ASTAIRE/LUCY JANE A 17/01/19 3165-841179-4
到目前為止,這是代碼:
import re, pyperclip, pprint
nombres = pyperclip.paste()
nombresReg = re.compile(r'\b\w+\b\s*/*,*\s*\b\w+\b\s?\b\w+\b')
mo = nombresReg.findall(nombres)
pprint.pprint(mo)
這是輸出即時消息:
['5 OK 377035',
'RICHARDS/PATRICIA MARIE',
'01/19 2878',
'3\r\n 6 OK',
'377599 F 13282',
'ZARATE/NICOLAS A',
'01/19 2878',
'0\r\n 7 OK',
'378583 F 23296',
'ASTAIRE/ LUCY JANE',
'01/19 3165']
如您所見,它與名稱匹配,但是讓我很討厭……我已經嘗試了好幾天。
任何輸入將不勝感激!
來自,\\s*(.*?)\\s\\w\\s
將匹配唯一的逗號和單獨的字母后的所有內容,例如: RICHARDS / PATRICIA MARIE , ZARATE / NICOLAS和ASTAIRE / LUCY JANE 。
這種模式似乎是您要尋找的:
>>> pat = re.compile("[A-Z]+/([A-Z ]+ )+")
>>> s = '''5 OK 377035 F 17949 , RICHARDS/PATRICIA MARIE A 15/01/19 2878-578482-3
... 6 OK 377599 F 13282 , ZARATE/NICOLAS A 38586778 15/01/19 2878-578486-0
... 7 OK 378583 F 23296 /*/*/*/, ASTAIRE/LUCY JANE A 17/01/19 3165-841179-4
... '''
>>> pat.findall(s)
['PATRICIA MARIE A ', 'NICOLAS A ', 'LUCY JANE A ']
>>>
說明:“ [AZ] + /(([AZ] +)+”)匹配一個或多個大寫字母( [AZ]+
,后跟文字斜杠( /
),然后是一個或多個大寫字母組,必須用一個空格( ([AZ ]+ )+
)分隔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.