Как я могу обнаружить китайские, японские и корейские символы с регулярным выражением в python. Я пробовал много вещей, включая manyrecommendationson Переполнение стека, но ничего еще не сработало.Как обнаружить CJK с регулярным выражением в python?
Пример слово строка:
word_string = "direct tv カルバンクライン 評価 カルバンクライン 価格 赤ジャージ アディダス nike エアリフト dg コート dg ネクタイ fresh 香水 フランス fresh 香水 ハワイ 1directtvcom ビームス バンズ コラボ httpwww1directtvcom 厚底コンバース 通販 フルラ バッグ 値段 プーマ専門店 ドクターマーチン ショート フルラ バッグ 新作 2015 スタッズグラディエーターサンダル モード・エ・ジャコモ mode et jacomo parker パーカー 万年筆 デュオフォールド"
Пример 1:
>> print re.findall(r'[\p{IsHiragana}\p{IsKatakana}\p{IsHan}]+', word_string)
['ir', 't', 't', 'nik', 'g', 'g', 'r', 's', 'r', 's', 'ir', 'tt', 'ttp', 'ir', 'tt', 't', 'a', 'park', 'st', 'pa', 'r', 'ssa', 'r', 'r', 'a', 'ssa', 's', 'g', 'ssa', 'riting', 'p', 'ssa', 'r', 'sa', 'st', 'ssa', 'ing', 'sit', 'an', 'rit', 'an', 'ssa']
Example2:
>> print re.findall(u'[\u4E00-\u9FFF\u4E00-\u9FFF\uF900-\uFAFF]+', word_string)
[]
Я даже попытался с помощью библиотеки как unicodedata
или unicodescript
к петле над символами и обнаружить язык каждого, но это становится действительно уродливым очень быстро.
Кто-нибудь знает надежный способ проверить символы CJK? Надеюсь, с некоторым простым регулярным выражением?
Я только что получил '[u'ir ', u't', u't ', u'nik', u'g ', u'g', u'r ', u's', u'r ' , u ', u'ir', u'tt ', u'ttp', u'ir ', u'tt', u't ', u'a', u'park ', u'r'] ' в результате. Какая версия python? Сейчас я использую 2.7. Для этого требуется python3? – Josh
2.6.6, стандартная версия centos 6.5 – amow
Oh! Кажется, работает, например, 2. 'word_string.decode ('utf-8')'! Boom! – Josh