Rの正規表現で最短マッチ(最短一致)させる
特にRに固有のことというわけではありませんし、正規表現に詳しい人にとっては当たり前のことだとは思いますが、私自身が結構つまづいたので・・・ ↓こんな感じのベクトル(住所リストのイメージ)があったとします。 住所リスト <- c( "佐藤町中村1-2", "高橋町新田2-3", "佐々木町本町3-4", "伊藤町原4-5", "山本町町田5-6", "長谷川町本郷6-7" ) 住所リスト [1] "佐藤町中村1-2" "高橋町新田2-3" "佐々木町本町3-4" [4] "伊藤町原4-5" "山本町町田5-6" "長谷川町本郷6-7" で、それぞれから冒頭の「○○町」の部分を取り除きたいとします。 町名の長さも一律ではないので、こういうときは正規表現が便利ですよね。 私が最初に思いついた正規表現が以下です。 sub(" ^.+町 ", "", 住所リスト, useBytes=F) 冒頭( ^ )から、任意の文字( . )が、1つ以上( + )あって、「 町 」で終わるような文字列、というつもりで...