2011-12-30 3 views
1

난 그냥 같은 정규식을 사용하고 있습니다 : 정규식, 그룹화 상수 문자열

/o?n?e?t?w?o?t?h?r?e?e?/ 

이 좋아 할 수있는 방법이 있나요 :

/(one)?(two)?(three)?/ // it doesn't work 

나는 단어를 대체 할 트링있어 " 하나의 정규식으로 "하나", "두"및 "세".

+0

확인합니다. 불행히도 당신은 당신이 원하는 것을 설명하지 않았으므로 우리는 당신을 정말로 도울 수 없습니다. –

+2

무엇을하려고합니까? 왜 첫 번째 접근 방식을 좋아하지 않으며 왜 두 번째 접근 방식으로 변경하려고합니까? –

답변

4

"one", "two"또는 "three"를 같은 단어로 바꾸려면 파이프로 구분 된 RegExp를 사용하십시오. 또한 글로벌 검색을 위해 g 플래그를 추가하고 바꾸십시오.

예 : 당신이 그런 식으로 그것을 할 수 있지만, 당신이 원하는 것을 초래하지 않을 수 있습니다

var string = "one fellow, two hands, three legs"; 
string = string.replace(/(one|two|three)/g, "--$1--"); 
alert(string); //--one-- fellow, --two-- hands, --three-- legs 
+0

답을 수정하고 입력 + 예상 출력을 추가하십시오. 내 RegEx가 현재 질문의 요구 사항을 만족했습니다. –

+0

@Rckt : 정확히 작동하지 않는 것은 무엇입니까? @ Rob : 당신은 또한 'i' 수정자를 추가해야합니다. –

+0

'i' 플래그는 대소 문자를 구분하지 않으려는 경우에만 추가해야합니다. –