문자열에서 날짜, 백분율 또는 숫자를 추출하려고합니다. 문자열은 다음과 같을 수 있습니다.
(?:\d{2}\/\d{4}|\d{2}(?:\/\d{2}\/\d{4})?)
Regex가 2014 년 12 월 12 일, 2012 년 2 월 10 일을 만족 하므로 정규식을 작성 했습니다.
나는 또한 10, 08/2015 및 10/10/2015를 얻기 위해 동일한 정규식을 수정하려고 시도하고 있지만 얻는 방법을 얻지 못했습니다.
이것이 어떻게 달성 될 수 있습니까?
예제 데이터를 일치시키기 위해 2 자리 / 4 자리 숫자와 일치하는 교대로 사용하거나 2 자리 숫자와 4 자리 숫자와 일치하는 선택적 부분이있는 2 자리 숫자를 일치시킬 수 있습니다.
\b(?:\d{2}\/\d{4}|\d{2}(?:\/\d{2}\/\d{4})?)\b
설명
\b
단어 경계, char 단어가 더 큰 단어의 일부가되는 것을 방지(?:
비 캡처 그룹
\d{2}\/\d{4}
2 자리 / 4 자리 일치|
또는\d{2}
2 자리 일치(?:\/\d{2}\/\d{4})?
선택적으로 / 2 자리 / 4 자리 일치)
그룹 닫기\b
단어 경계참고 당신이 당신의 경기보다 구체적인를 확인하려면 2와 4 자리 숫자는 99와 9999 일치 수 있다는 것을,이 페이지가 도움이 될 수 https://www.regular-expressions.info/dates.html
const pattern = /\b(?:\d{2}\/\d{4}|\d{2}(?:\/\d{2}\/\d{4})?)\b/;
[
"the response value 10",
"the response value 10/12/2014",
"the response value 08/2015"
].forEach(s => console.log(s.match(pattern)[0]));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다