2012-04-27 14 views
0

Pythonでこの正規表現を解析するには?Pythonの正規表現文字列検索

"From"と "date time stamp"の間の文字列 "Miracle workers"を効率的に解析する必要があります。

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] 

ここで私がのような2つのタプル(「アトランタ」、「GA」)の代わりに、それを得るために行うことになってどのように

アトランタ、GA」を取得するために、その必要性を取得していますあらゆる状況において効果的な方法で結果を生み出しますか?

答えて

1

あなたのグループ化の結果は、このようになります。findallはあなたにタプルを与えます。 (グループ化なし)この正規表現を試してみてください:?

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

「-in-アトランタ、-GA」出力は、それが最初の文字列のための私の正規表現を微that.fine.Isようになっていることは、すべての状況のた​​めに働くのだろうか? – Nava

+0

その文字列は常に英語になりますか?その場合、[A-Za-z \ s] +または少なくとも[A-Za-z \ \ t]、または[\ w \ t] +(期待される入力に依存する) –

関連する問題