Использование метки конца слова с юникодом в регулярных выражениях в Python - PullRequest
3 голосов
/ 15 июня 2010

Следующие совпадения в режиме ожидания, но не совпадают при запуске в методе в файле модуля:

import re
re.search('\\bשלום\\b','שלום עולם',re.UNICODE)

, хотя в обоих случаях следующее совпадение:

import re
re.search('שלום','שלום עולם',re.UNICODE)

(Обратите внимание, что stackoverflow ошибочно переключает первый и второй элементы в строке выше, так как это язык справа налево)

Как мне сделать первое совпадение кода внутри файла py?

Обновление: что я должен был написать для первого сегмента, так это то, что он совпадает в режиме ожидания, но не совпадает при запуске в консоли Eclipse с PyDev.

1 Ответ

2 голосов
/ 15 июня 2010

Кажется, работает для меня, когда я использую строки Unicode:

# -*- coding: utf-8 -*-

import re
match = re.search(u'\\bשלום\\b', u'שלום עולם', re.U)

Смотрите это в действии: http://codepad.org/xWz5cZj5

...