2017-12-19 1 views
0

ICU 호환 정규식을 python3에서 실행할 수 있습니까? 예를 들어 다음 정규식은 기본 파이썬의 정규식 라이브러리와 OK 아니라, C++ ICU lib 디렉토리에서 확인을 작동합니다ICU regex in python

import re 
re.compile("(?<=(AA|BBB)12345)") 

# Result: sre_constants.error: look-behind requires fixed-width pattern 

내가 파이썬에서 실행하고자하는 ICU 정규식 lib 디렉토리 용으로 작성된 많은 같은 정규 표현식에 있습니다. 누구든지 파이썬 정규식 형식으로 자동으로 마이 그 레이션하는 방법을 알고 있습니까?

감사합니다.

+0

사용 PyPi 정규식 라이브러리. 확실히 몇 가지 차이점이 있습니다 (예 : 브래킷 표현식에 POSIX 문자 클래스 사용). 고정 너비가 아닌 lookbehind에만 관심이있는 경우 제대로 작동합니다. –

+0

많은 감사, 그것을 시도해 볼게. – diemacht

+0

그것은 작동합니다! 감사! – diemacht

답변

2

위의 설명에서 Wiktor가 제공 한 솔루션이 효과적입니다. 복제 :

  1. 정규식 라이브러리를 설치 은 파이썬 쉘에서 다음과 같은 정규식
  2. 실행 설치 PIP :
>>> import regex 
>>> r=regex.compile("(?<=(AA|BBB)12345)") 
>>> r.findall('AA12345') 
['AA'] 
>>> r.findall('BBB12345') 
['BBB'] 
>>> r.findall('CCC12345') 
[]