Regex Module(正規表現モジュール) - 適宜覚書-Fragments

Regex Module(正規表現モジュール)

      2017/03/02

f:id:dacs:20080427094547p:image

The Regex module modifies fields in an RSS feed using regular expressions, a powerful type of pattern matching. Think of it as search-and-replace on steriods.

Pipes - Operator Modules

Regex(正規表現)モジュールを使うとRSSフィードのフィールドを正規表現という強力なパターンマッチングによる類型化で改造することが出来る。検索や置換の増強版みたいなものを思い浮かべると良い。

You can define multiple Regex rules. Each has the general format: "In [field] replace [regex pattern] with [text]". Entire books have been written about regular expressions, so we'll only discuss the basics here. You can read about them in more depth here.

Pipes - Operator Modules

このモジュールで多様な規則を正規表現で定義することが出来る。定義は次の形式に即して書いていく。「「どのフイールドの値(field)」が「正規表現に一致する(regex pattern)」なら「文字列(text)」に置換する」という感じで各欄を埋める。

正規表現だけを扱った本がこれまでにいくつも出ており、この場では基本的なことだけに触れる。もっと深く正規表現について読みたいならこちらのリンク先(正規表現 - Wikipedia)をどうぞ。

補足情報

例えばドキュメントのサンプルでは、In 1959, Hugh Laurie was born on this date in Oxford, Oxfordshire, England, UKのような記述をIn [year], [person] was born on this date in [location]というパターンで抜き出している。最終的に使うのは、[year]である「1959」、 [person]である「Hugh Laurie」、[location]である「Oxford, Oxfordshire, England, UK」の部分だが、まずは抜き出しをどうするかを考える。^In\s+(\d{4}),.+だと、「In」から始まって「空白類」が1つ以上の後に数字が4つ([year]である「1959」)あって「,」があって…といったパターンにマッチするよう指定している。そして、マッチした結果から「(\d{4})」で指定した部分が「$1」となるため、[year]である「1959」が「$1」となる。

従って、item.birth_year要素に含まれる値はこのモジュールを通すことで「1959」に置き換えられる。

関連情報

チェックボックスで正規表現オプションを選択出来る。それぞれの意味合いは以下の通りである。

  • gオプション:繰り返してマッチを行う
  • sオプション:ワイルドカードのドット( . )が改行にもマッチするようにする
  • mオプション:対象のパターンに改行が含まれていても、その改行にまたがってパターンを検索する
  • iオプション:大文字と小文字を区別しないでマッチングする

和訳目次

適宜覚書-Fragmentsは、筆者が興味をもった様々な情報やネタを筆者が忘れても後で思い出せるよう覚書として公開するBlogです。Google Chrome拡張、Facebook、Google、Twitter、Windows、各種Webアプリなどを扱うことが多いです。この覚書が、もし何かお役立ちになれば幸いです。

 - 覚書