19740103-0379 또는 197401030379와 같은 문자열을 일치 시키려합니다. 즉, 대시는 옵션입니다. 정규 표현식으로 어떻게 이것을 수행 할 수 있습니까?정규식 패턴 선택 문자
6
A
답변
7
일반적으로 -?
만 사용할 수 있습니다. 또는 -{0,1}
을 사용할 수 있지만 "0 또는 1 회 발생"에 대한 ?
은 거의 모든 곳에서 지원됩니다. 기본적으로 0 개 이상의 대시 (12 개) 사건 뒤에
-*([0-9]-*){12}
: 당신이 어디에서 대시의 번호 12 개 자리를 수락 할 경우
pax> echo 19740103-0379 | egrep '19740103\-?0379'
19740103-0379
pax> echo 197401030379 | egrep '19740103\-?0379'
197401030379
, 당신이 그런 짓을해야 할 수도 있습니다 (숫자는 0 개 이상의 대시 다음)과 같은 놀라운 일들의 모든 종류의 캡처 :
는--3-53453---34-4534---
(물론, 당신은 \d
를 사용하는 대신 0,123,946한다 귀하의 정규식 엔진이 지원하는 경우). 대시 - -
\d*
가
\d*-\d*
이 형식 숫자의 문자열을 일치하는 경우에만 숫자로 이루어진 문자열과 일치
[0-9\-]*
는 대시로 구성된 문자열과 일치하는 숫자와 :
1
당신은 다른 사람을 시도 할 수 숫자
|
(또는)을 통해 결합 할 수 있으므로 예 : (\d*)|(\d*-\d*)
: 형식이 일치합니다. 자릿수 및 숫자 - 대시 - 숫자.
관련 문제
- 1. 캐릭터의 정규식 패턴 일치
- 2. 정규식 제거 여분의 문자
- 3. 정규식 선택
- 4. 간단한 정규식 패턴
- 5. 정규식 패턴 도움이
- 6. 잘못된 정규식 패턴
- 7. 자바 정규식 패턴 일치
- 8. 정규식 패턴 도움
- 9. PHP 정규식 매치 패턴
- 10. Python의 정규식 패턴 문제
- 11. 찾기 정규식 패턴 re.findall
- 12. PHP 정규식 패턴
- 13. Java 정규식 패턴
- 14. 정규식 패턴 (URL 일치)
- 15. Java의 정규식 패턴
- 16. 정규식 패턴 대체 PHP
- 17. PHP 정규식 무제한 패턴
- 18. VB.net 정규식 문자 구문
- 19. 정규식 교류 경우 문자
- 20. 정규식, 특정 문자 제외
- 21. 악센트 부호가있는 문자 정규식
- 22. 정규식 반복 문자 수
- 23. 정규식 문자 클래스 빼기
- 24. 정규식 임의의 문자
- 25. ColdFusion에서 정규식 문자
- 26. 정규식 - 특수 문자? - 파이썬
- 27. 정규식 : 삭제 흰색 문자
- 28. 패턴 기호의 문자 집합
- 29. HTML5 양식의 새로운 패턴 attre에 대한 정규식
- 30. 일치하는 URL에 대한 정규식 패턴
사용중인 언어 및/또는 regex 라이브러리를 지정하십시오. – reinierpost
[0-9] {8} -? [0-9] {4} – Ragnis