gouf
8/21/2014 - 3:21 PM

テキストから日本語を抜き出す正規表現。失敗パターン、成功パターン

テキストから日本語を抜き出す正規表現。失敗パターン、成功パターン

require 'pp'

Japanese = %r/[
  \p{Hiragana}
  \p{InKatakana}
  \p{Han}
  \p{InCJKSymbolsAndPunctuation}
  \p{InCJKUnifiedIdeographs}
]{2,}/x # `+` -> `{2,}`

str = <<EOF
text in English
日本語のテキスト
にほんご の テキスト
EOF

pp str.scan(Japanese)
# => ["\n日本語のテキスト\nにほんご の テキスト\n"]
require 'pp'

Japanese = %r/[
  \p{Hiragana}
  \p{InKatakana}
  \p{Han}
  \p{InCJKSymbolsAndPunctuation}
  \p{InCJKUnifiedIdeographs}
]+/x

str = <<EOF
text in English
日本語のテキスト
にほんご の テキスト
EOF

pp str.scan(Japanese)
# => [" ", " ", "\n日本語のテキスト\nにほんご の テキスト\n"]

pp str.scan(Japanese).select{|x| !x.include? ' '}
# => ["\n日本語のテキスト\nにほんご の テキスト\n"]