2014-10-05 7 views
-2

에 따라 배열에 문자열을 분할하는 방법은 문자열이있다. 내가 찾고 있어요이 예제 결과를 들어 은 다음과 같습니다자바 스크립트 정규식 정규식

["$CREATED_NEW_INCIDENT$","$BASED_ON$", "$EVENTS$"] 

내가 정규식와 함께 할 수 있다는 것을 알고 있지만 나는 아직 성공하지 않았습니다. 또한 올바른 정규식을 찾으면 무엇을해야합니까? 나눠?

답변

1

분할 할 필요가 없습니다. 그냥 당신이 $을 찾을 때까지 그냥 $와 일치하는 시작이

var str = "<b>Dispatcher Number1 $CREATED_NEW_INCIDENT$ </b> $BASED_ON$ 1 $EVENTS$"; 
var arr = str.match(/\$[^$]+\$/g); 
0

처럼 정규식

/\$[^$]+\$/g 

를 사용하여 일치합니다.

var regEx = /\$.*?\$/g; 
console.log(data.match(regEx)); 
# [ '$CREATED_NEW_INCIDENT$', '$BASED_ON$', '$EVENTS$' ] 

여기

  • .는 임의의 문자와 일치하는 것을 의미한다.

  • .*는 0 번 이상

  • .*? 수단에만 가능한 한 최소한의 문자, 0 회 이상 만 일치 일치를 위해, 모든 문자와 일치하는 것을 의미한다. 우리가 .*??를 사용하지 않는 경우

, 그것은 마지막 $ 기호에 처음 $ 상징에서 일치합니다.

0

당신은 사용할 수 있습니다

var s = "<b>Dispatcher Number1 $CREATED_NEW_INCIDENT$ </b> $BASED_ON$ 1 $EVENTS$"; 
var m = s.match(/(\$[^$]*\$)/g); 
//=> ["$CREATED_NEW_INCIDENT$", "$BASED_ON$", "$EVENTS$"] 
0

또한 사용할 수 있습니다

"<b>Dispatcher Number1 $CREATED_NEW_INCIDENT$ </b> $BASED_ON$ 1 $EVENTS$".match(/\$[\w]+\$/g)