3

私が見ているドキュメントに定期的に現れる日付式を解析する正規表現を作成したかったのですが、特に、日付は次のように記述されることがあります。

FEBRUARY 8
FEBRUARY. 8
FEBRUARY 8.
FEBRUARY    8

したがって、私の正規表現は次のようになります

re.compile(MonthList+'.?.?.?.?[0-9][0-9]?')

これが機能しないことを除いて。(JANUARY|FEBRUARY|MARCH|...etc)リストを正規表現に書き込んで、実際にリストを書き出す代わりに、またはループを作成するにはどうすればよいですか?

4

1 に答える 1

3

通常の文字列操作を使用して、正規表現を作成できます。サニタイズしない限り、リスト内の文字列も正規表現として解釈されることに注意re.escapeしてください。

r = re.compile('({}).{0,3}\d{1,2}'.format(
         '|'.join(map(re.escape, month_list))))
于 2012-06-11T18:25:48.327 に答える