2013-02-05 2 views
0

javascript match() 함수를 사용하여 특정 정규 표현식을 일치시키는 방법을 이해하는 데 어려움을 겪고 있습니다. 다음 표의 형식으로 저장된 표에 필드가 있습니다. CH-01-Feb-13-1. 대시가없는 날짜 (예 : 01-2 월 -13)를 가져올 수 있기를 원합니다. 나는^- 또는와 결합하는 방법을 알아 내려고 노력했다. 그러나 그것을하는 방법을 모릅니다.특정 정규 표현식을 일치시키는 방법은 무엇입니까?

+1

"대시가 없습니까?" '01-Feb-13'은 그 안에 대시가 있습니다. 우리는 또한 시작 문자열이 어떻게 생겼는지 더 많은 예제가 필요합니다. 항상 두 글자로 시작합니까? 더? 비 문자? 그것으로 끝나는 것은 어떨까요? –

+0

그 문자열입니다, 그것은 항상 두 개의 문자, 대시와 날짜, 그리고 대시와 숫자로 시작합니다. 그래서 처음 두 글자, 대시, 마지막 대시와 숫자를 무시하고 날짜가 남겨 둬야합니다. 즉, 01-Feb-13 – trueinViso

답변

2

정규식을 원하십니까? 당신은 여기에서 설명을 볼 수 있습니다

^\w{2}-(\d{2}-\w{3}-\d{2}).*?$ 

같은 뭔가 : http://www.regexper.com/ 그냥 복사 식을 붙여 넣습니다. 당신은 정규식이 어려우면 자바 스크립트

var r = /^\w{2}-(\d{2}-\w{3}-\d{2}).*?$/i 
var groups = "CH-01-Feb-13-1".match(r); 
console.log(groups); 
+0

그 웹 사이트에 감사드립니다. https://developer.mozilla.org에있었습니다./ko-US/docs/JavaScript/Reference/Global_Objects/RegExp 내 표현을 결합하는 방법을 찾으려고합니다. – trueinViso

+0

@trueinViso'[1]'을 사용하여 첫 번째 괄호로 묶은 서브 맵을 얻습니다.이 경우에는 '01-2 월 -13'입니다. 이것으로부터 대쉬를 제거하기 위해서'.replace (/ \ -/g, "")'를 할 수 있습니다. – Plynx

1

enter image description here

예는이 같은 것을 사용할 수 있습니다.

var str = 'CH-01-Feb-13-1'; 
str = str.replace('CH-',''); 
str = str.split('-'); 
str.pop(); 
console.log(str.join('-')); 
관련 문제