패턴의 문자열이 있습니다. {{시작일 | 2005 | 8 | 29}} 이제 2005,8,99를 세 개의 개별 요소로 추출하려고합니다. 그래서 regexp 내가 : re.findall ('([0-9]) +', str) 2005, 8, 29 대신 5,8,9 나를주고있다 검색 방법을 시도했을 때 같은 패턴 사용 re.search ('([0-9]) +', str) .group() 2005 년 첫 번째 요소가 있습니다. 왜이 두 메서드의 출력이 다른가요? 현재 날짜 패턴의 정규식은 언제입니까?정규식 패턴 findall과 다른 이유를주는 검색은 동일한 패턴의 유도문
0
A
답변
1
길게만 짧음 : '([0-9]+)'
이 아니고 '([0-9])+'
이 아닙니다.
세부 정보 : 모든 괄호 쌍이 그룹을 결정합니다. 일치하려는 단일 시도에서 그룹이 여러 번 캡처 된 경우 마지막 캡처 만보고됩니다. 당신이 문자열에 대해이 재 호출 할 때 ([0-9])
부분은 다음, 다음, 다음, '5'
'0'
'0'
'2'
일치하기 때문에 더 이상 일치하지 전에 특히
은, 그것은, 첫 이동 라운드에 "2005"
의 모든 일치 . 그래서 그것은 모두 "2005"
과 일치하지만 그 그룹 자체는 그 서브 표현식에 대한 마지막 일치만을보고했습니다 : '5'
.
비교해 볼 때 나중에 그룹 방법으로 re.search
을 시도했습니다. group 메서드는 에 일치하는 부분 문자열을 전체 정규식, not the first group으로 반환합니다. 따라서 "2005"
을 모두 반환했습니다. 대신 차이점을 확인하려면 .group(1)
으로 전화 해보십시오.
관련 문제
- 1. 정규식 검색은 어떻게 작동합니까?
- 2. 정규식 패턴의 정규식 패턴은 무엇입니까?
- 3. 지연 패턴 화는 프록시 패턴의 다른 이름일까요?
- 4. 다른 패턴의 4 개 문자를 허용하는 정규식
- 5. 서브 패턴의 R 패턴
- 6. 이 패턴의 정규식
- 7. 이 정규식 패턴의 의미는 무엇입니까 '/ &\w; /'
- 8. 일반 공장 패턴의 IRepository 패턴
- 9. 정규식 패턴
- 10. 안드로이드 | 정규식 패턴의 구문 오류
- 11. JavaScript 패턴 - Facade와 Object 리터럴 패턴의 차이점
- 12. 여러 정규식 하위 패턴의 선택적 일치
- 13. Java 정규식 패턴
- 14. 문자열 패턴 및 정규식
- 15. 복잡한 정규식 패턴
- 16. 이것은 데코레이터 패턴 또는 패턴의 변형입니까?
- 17. 자바 정규식 패턴 일치
- 18. 정규식 패턴 도움이
- 19. 정규식 파일 패턴
- 20. 간단한 정규식 패턴
- 21. 잘못된 정규식 패턴
- 22. 정규식 패턴 최적화
- 23. PHP 정규식 매치 패턴
- 24. Python의 정규식 패턴 문제
- 25. 정규식 일치 패턴
- 26. VB6의 정규식 패턴
- 27. 정규식 패턴 도움
- 28. 비밀번호의 정규식 패턴
- 29. PCRE, 정규식 서브 패턴
- 30. PHP 정규식 패턴