Usando o fim da marca de palavras com unicode em expressões regulares em python
-
27-09-2019 - |
Pergunta
As seguintes correspondências em marcha lenta, mas não correspondem quando executadas em um método em um arquivo de módulo:
import re
re.search('\\bשלום\\b','שלום עולם',re.UNICODE)
Enquanto as seguintes partidas nos dois casos:
import re
re.search('שלום','שלום עולם',re.UNICODE)
(Observe que o StackOverflow muda erroneamente o primeiro e o segundo itens na linha acima, pois este é um idioma direito para esquerda)
Como posso fazer o primeiro código correspondente dentro de um arquivo py?
ATUALIZAÇÃO: O que eu deveria ter escrito para o primeiro segmento é que ele corresponde a ocioso, mas não corresponde quando executado no console do Eclipse com o Pydev.
Solução
Parece funcionar para mim quando estou usando strings Unicode:
# -*- coding: utf-8 -*-
import re
match = re.search(u'\\bשלום\\b', u'שלום עולם', re.U)
Veja em ação: http://codepad.org/xwz5czj5
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow