문자열이 #abcde#jfdkjfd
인 경우 두 문자열을 어떻게 얻을 수 있습니까 #
? 또한 #
쌍이 없으면 (#
또는 하나만 #
을 의미 함)이 함수는 None
을 반환합니다.파이썬 문자열 정규 표현식을 사용하여 구문 분석
1
A
답변
7
>>> import re
>>> s = "abc#def#ghi#jkl"
>>> re.findall(r"(?<=#)[^#]+(?=#)", s)
['def', 'ghi']
설명 :
(?<=#) # Assert that the previous character is a #
[^#]+ # Match 1 or more non-# characters
(?=#) # Assert that the next character is a #
2
사용 (?<=#)(\w+)(?=#)
하고 첫 번째 그룹을 캡처합니다. 여러 내장 문자열을 포함하는 문자열을 순환 시켜도 작동 할 수 있습니다.
긍정적 인 검색 표시와 긍정적 인 미리보기를 모두 사용합니다.
+0
검색의 일부가 아니기 때문에 그룹이 필요하지 않습니다. –
+0
예, 그건 사실입니다 ... 그냥 습관! – fge
1
정규 표현식을 주장하고 어떤 결과가 다음 쉬운 방법이없는 경우 경우 대신 None
의 빈 목록을 받아 기꺼이하지 않는 경우는 다음과 같습니다
>>> "#abcde#jfdkjfd".split('#')[1:-1]
['abcde']
주 그 결과 정말 하나 이상의 결과를 가질 수있는 목록이어야합니다.
당신은 (이것은 또한 없음에 빈 문자열을 설정하는 것처럼 완벽하지하지만) 빈리스트 대신 None
을 받고 주장하는 경우 : 당신은 단지 당신이 할 수있는 최초의 표시 문자열을 원하는 경우
>>> "#abcde#jfdkjfd".split('#')[1:-1] or None
['abcde']
을 이 :
>>> def first_marked(s):
token = s.split('#')
if len(token) >= 3:
return token[1]
else:
return None
>>> first_marked("#abcde#jfdkjfd")
'abcde'
관련 문제
- 1. 정규 표현식을 사용하여 문자열 구문 분석
- 2. PHP 정규 표현식을 사용하여 XML 구문 분석
- 3. PHP에서 정규 표현식을 사용하여 블록 구문 분석
- 4. JavaScript 정규 표현식을 사용하여 쿼리 문자열 구문 분석
- 5. 정규 표현식을 사용하여 문자열 자르기
- 6. 정규 표현식을 사용하여 문자열 바꾸기
- 7. Clojure의 구문 분석 문자열
- 8. 파이썬 문자열 구문 분석 오류
- 9. 파이썬 문자열 구문 분석 : 공간
- 10. 문자열 문자열 구문 분석
- 11. C# 정규 표현식을 사용하여 Linux df 출력을 구문 분석
- 12. Java에서 정규 표현식을 사용하여 SQL 테이블 정의 구문 분석
- 13. Javascript에서 정규 표현식을 사용하여 구문 분석하기
- 14. 파이썬 구문 정규 표현식
- 15. 파이썬 정규 표현식을 사용하여 문자열 언 이스케이프를 구현하는 방법
- 16. 파이썬 구문 분석 파일
- 17. 정규 표현식을 포함한 분할 문자열
- 18. 파이썬 정규 표현식을 사용하여 마지막 일치를 찾으십시오.
- 19. 파이썬 정규 표현식을 사용하여 트윗을 필터링하기
- 20. 정규 표현식으로 문자열 분석
- 21. 정규 표현식 구문 분석 문제
- 22. 파이썬 정규 표현식 문자열 제외
- 23. 정규 표현식을 사용하여 텍스트에서 문자열 가져 오기
- 24. Perl에서 정규 표현식을 사용하여 문자열 분할하기
- 25. 정규 표현식을 사용하여 문장에서 특정 문자열 검색하기
- 26. Go에서 정규 표현식을 사용하여 문자열 분할
- 27. 정규 표현식을 사용하여 파이썬에서 문자열 분할
- 28. 문자열에서 정규 표현식을 사용하여 부분 문자열 추출
- 29. 자바 스크립트에서 정규 표현식을 사용하여 문자열 분할
- 30. 파이썬 모듈 문서 문자열 구문 분석
기본 정규 표현식으로이를 수행 할 수 있습니다. http://www.regular-expressions.info/를보십시오. –