[regex] 한 단어 또는 다른 단어를 포함하는 정규식

“초”또는 “”분 “이 뒤에 오는 정수와 일치하는 표현식을 만들어야합니다.

나는이 표현을 시도했다 : ([0-9]+)\s+(\bseconds\b)|(\bminutes\b)

몇 초 동안은 잘 작동하지만 몇 분은 아닙니다.

예를 들어 “5 초”는 5; 초를 제공합니다. “5 분”은 ;; 분



답변

“OR”기호에 대한 추가 대괄호 쌍을 놓쳤습니다. 다음은 트릭을 수행해야합니다.

([0-9]+)\s+((\bseconds\b)|(\bminutes\b))

그것들이 없으면 숫자 뒤에 초 또는 단어 분만 일치했습니다.


답변

초 / 분 동안 단일 그룹을 사용할 수 있습니다. 다음 표현이 사용자의 요구에 적합 할 수 있습니다.

([0-9]+)\s*(seconds|minutes)

온라인 데모


답변