2016-11-22 23 views
0

文書内の引用と一致させる必要があります。引用は次のような形式にすることができます。 著者名、年;著者名(年); 'James et al。、2010'、 'James & Juda、2010'、 'James & Juda(2010)'、 '(James & Juda、2010)'のような名前です。 私が試してみました:一致する文字の後ろに数字が続く正規表現

[A-Za-z]+[0-9]{4} 

(([A-Z]([A-Za-z][&.,])+\d{4}) 

1つまたは複数の文字の出現は、いくつかの句読点が続いた後、(年を指定して)4桁の数字は、私が何を意味するのかです。しかし、それは動作しません。この点について私を助けてください。

+0

「しかし動作しません」...関連するコードを表示できますか? –

+0

空きスペースを考慮しています –

答えて

1

以下の正規表現は、指定したすべてのサンプルと一致します。

(\S+\s*)+?(,|\()\s*(\d+)\)?

+0

ありがとうございます。それは動作します。あなたはそれを説明してもらえますか? – user3568044

+0

こんにちは、私はこの全体の文字列でこれを試したときに動作しません。コードは以下の通りです: 's =" James et al。、(2010)は、タスク分離とタスク分割という2つのアルゴリズムを提案しています。 s1 = re.match(r '(\ S + \ s *)+?、\)\ s *(\ d +)\)?、s)。出力は文字列全体です。しかし、必要なのは** James et al。、(2010)**です。 (0) ' – user3568044

+0

re.match(r '(\ S + \ s *)+?、 .comとあなたの正規表現の説明を与えるでしょう。 –

関連する問題