[PYTHON] Python은 일치하는 내용으로 다시 대체합니다.
PYTHONPython은 일치하는 내용으로 다시 대체합니다.
파이썬에서 정규 표현식을 사용하려고 시도하면서 URL의 일부로 강조 표시된 일부 HTML을 출력하려고합니다. 내 입력은
images/:id/size
내 결과물이 있어야 해.
images/<span>:id</span>/size
내가 자바 스크립트에서 이렇게하면
method = 'images/:id/size';
method = method.replace(/\:([a-z]+)/, '<span>$1</span>')
alert(method)
원하는 결과를 얻지 만, 파이썬에서 이것을하면
>>> method = 'images/:id/huge'
>>> re.sub('\:([a-z]+)', '<span>$1</span>', method)
'images/<span>$1</span>/huge'
파이썬이 $ 1이 아닌 올바른 결과를 반환하도록하려면 어떻게해야합니까? 이 기능을 수행하는 데 올바른 기능이 있습니까?
해결법
-
==============================
1.$ 1 대신 \ 1을 사용하면됩니다.
$ 1 대신 \ 1을 사용하면됩니다.
In [1]: import re In [2]: method = 'images/:id/huge' In [3]: re.sub(r'(:[a-z]+)', r'<span>\1</span>', method) Out[3]: 'images/<span>:id</span>/huge'
정규 표현식에 대해서는 원시 문자열 (r '...')을 사용합니다. 틀림없이 코드를 약간 더 가독성있게 만드는 것은 백 슬래시를 벗어날 필요가 없습니다.
-
==============================
2.$ 1 대신 \ 1을 사용하십시오.
$ 1 대신 \ 1을 사용하십시오.
http://docs.python.org/library/re.html#regular-expression-syntax
-
==============================
3.대체 부분에서, 파이썬은 펄, 자바, 자바 스크립트 (다른 것들과 달리)가 $ 1이 아닌 sed와 vi와 같은 방식으로 \ 1을 사용합니다. 게다가 \ 1은 U + 0001의 문자로 일반 문자열을 보간하기 때문에, 원시 문자열이나 \ escape를 사용할 필요가 있습니다.
대체 부분에서, 파이썬은 펄, 자바, 자바 스크립트 (다른 것들과 달리)가 $ 1이 아닌 sed와 vi와 같은 방식으로 \ 1을 사용합니다. 게다가 \ 1은 U + 0001의 문자로 일반 문자열을 보간하기 때문에, 원시 문자열이나 \ escape를 사용할 필요가 있습니다.
Python 3.2 (r32:88445, Jul 27 2011, 13:41:33) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> method = 'images/:id/huge' >>> import re >>> re.sub(':([a-z]+)', r'<span>\1</span>', method) 'images/<span>id</span>/huge' >>>
from https://stackoverflow.com/questions/7191209/python-re-sub-replace-with-matched-content by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 장고 휴식 프레임 워크는 많은 분야에서 많은 serialize (0) | 2018.11.04 |
---|---|
[PYTHON] 와일드 카드를 사용하여 파일 검색 (0) | 2018.11.04 |
[PYTHON] ticklabels과 matplotlib의 축 사이에 공백을 어떻게 추가합니까? (0) | 2018.11.04 |
[PYTHON] 조건이 충족되면 울퉁불퉁 한 요소 교체하기 (0) | 2018.11.04 |
[PYTHON] 파이썬에서 "홈 디렉토리"를 찾으십니까? [복제] (0) | 2018.11.04 |