2012-04-27 55 views
0

如何在python中解析這個正則表達式?Python中的正則表達式字符串檢索

在這裏,我需要解析的有效途徑「從」和「日期時間戳」 之間的字符串「奇蹟工人」。

s = """ 
     business hours. Keyword Search: Sales, Operations, Director, Medical, Medical Devices, DME, Respiratory Equipment, Sales Rep, Account Executive, Exec, Business... <br /> 
      From Miracle Workers - 26 Apr 2012 08:45:15 GMT 
      - View all <a href="http://www.indeed.com/l-Houston,-TX-jobs.html">Houston jobs</a> 
    """ 

這是正則表達式我很所作所爲。需要得到有效的正則表達式。

regex1 = re.findall('From\ ([A-Za-z\ ]+)\-',s) 
    ['Miracle Workers '] 

從url中提取另一個字符串。

s2 = http://www.indeed.com/job/Region-Manager-Field-Sales-at-Covidien-in-Atlanta,-GA-a1a421aabb4d54a7" 
    regex2 = re.findall('-in-([A-Za-z-]+),-([A-Z]{2})',str(job.url))[0] 

這裏我得到兩個元像(「亞特蘭大」,「GA」),而不是需要得到「佐治亞州亞特蘭大」

它應該怎樣做才能得到在所有情況下都有效果?

回答

1

使用()你的分組結果,這樣,findall給你一個元組。試試這個正則表達式(不分組):

regexp = '-in-[A-Za-z-]+,-[A-Z]{2}' 
+0

「-in亞特蘭大,-GA」輸出越來越像that.fine.Is它罰款我正則表達式的第一個字符串時,它會爲所有的環境下工作? – Nava 2012-04-27 14:18:16

+0

該字符串將永遠是英文?在那種情況下,我認爲是這樣,但比[A-Za-z]更好,使用[A-Za-z \ s] +或者至少[A-Za-z \ \ t],或者[\ w \ t] +(這取決於預期的輸入) – 2012-04-27 14:36:10

相關問題