2016-06-30 3 views
1

정규 표현식을 쓰려고하는데 어려움이 있습니다.공백이없는 정규식 분할 구분 기호

내 목표는 몇 가지 조건으로 2 개의 구분 기호로 내용을 분할하는 것입니다.

예를 들면.

var result = [ 
    "foo", "word", "a b", 
    "word2", "a b-c", 
    "word3", "h- b-" 
]; 

지금은 내가이 짓을 :

var str = "foo -word- a b -word2- a b-c -word3- h- b-"; 

분할의 결과는해야

var result = str.split(\-(.*?)-\); 

을하지만 난 공백을 포함하지 않는 경우에만 구분 기호를 캡처 할 .

+0

왜'word'는 하이픈 ('-')을 잃지 만'h' 나'b'를 잃지 않습니까? – KevBot

+2

따라야 할 정확한 규칙을 기술하십시오. –

+0

- * - 공백을 포함하지 않는 내용을 캡처하고 싶습니다. – user123123123

답변

0

범위 또는 문자 클래스를 지정할 수있을 때 .*을 사용하고있는 것이 문제입니다. 이것을 시도하십시오 :

var result = str.split (- (\ S +) -);

\S은 공백이 아닌 문자이며 하나 이상의 문자를 찾고 있습니다.

+0

IE8에서는 이전과 다른 결과를 얻을 수 있습니까? – user123123123

관련 문제