2017-11-08 1 views
0

의 옵션 그룹 구문이되어 이해 아니에요 내 테스트 문자열/문구/텍스트 ...내가 정규식

오후 8시 58분 uberX 32m 0 13.87

지속 시간 수 일, 시간, 분 및 초가 될 수 있습니다. 나는 아마 결코 날을 보지 않을 것이다. 그러나 시간은 가능하다.

(\d+)m.(\d+)s 

이 경우 php preg_match 문에서 32와 0을 제공합니다.

이제는 (\ d +) h?를 넣으려고했습니다. 위의 정규 표현식 앞에서 2 시간을 테스트 문자열에 넣었습니다.

비트 단위로 정규 표현식을 학습하려고합니다.

내 도움이 되었더라도 감사드립니다. 감사합니다.

+1

[this regex demo] (https://regexdemo.com/r/k70HfN/1)를 참조하십시오. 캡쳐되지 않은 그룹에서 선택 사항으로 만들기 위해 전체 파트를 묶어서이 작업을 수행 할 수 있습니다. –

답변

1
/(\d+(?=d\W))|(\d+(?=h\W))|(\d+(?=m\W))|(\d+(?=s\W))/ 

이 즉시

1

는 D, H, m 또는 (S) 다음 단 일치 자리 긍정적 예측을 사용? 바로 앞의 토큰에 적용됩니다. 귀하의 예에서는 h 옵션을 사용하지만 숫자는 여전히 필수입니다. (?:(\d+)h)?