2014-11-08 7 views
1

javascript .replace()를 사용하여 쉼표로 구분 된 단어 목록에서 단어를 제거하고 작동하는 해결책을 갖지만 어색하고 더 좋은 단어가 있어야한다고 생각합니다. .쉼표로 구분 된 단어로 대체 할 정규식

/,word1|word1,?/ 

(가), 주요 임베디드 및 후행의 경우를 처리하고 예를 들어, 쉼표의 정확한 수를 제거합니다 같은

정규식 보인다.

word1,word2,word3 
word2,word1,word3 
word2,word3,word1 
All result in word2,word3 
word1 on its own is removed completely 

regex 패턴에서 반복되는 word1없이 어떻게 할 수 있습니까?

+1

정규식이 작동하는 경우 왜 변경해야할까요? – adeneo

+0

http://codereview.stackexchange.com –

+0

나는 당신이 더 나은 정규식을 찾을 수 있다고 생각하지 않는다. – Toto

답변

0

실제로 더 좋거나 더 짧은 패턴이 없습니다. 당신이 큰 문자열을 처리해야하고, 첫 글자가 너무 자주이 아닌 경우에만 경우에 당신은,

,word1\b|\bword1\b,? 

: 당신이 할 수있는 모든 쉼표가 누락 될 수있다 단어 경계를 추가하여 오 탐지를 방지하는 것입니다 패턴이 테스트됩니다 위치의 수를 줄이기 위해 첫 번째 문자 차별의 기술을 사용하려고 할 수 있습니다

(?=[,w])(?:,word1\b|\bword1\b,?) 

(. 당신이 정말 benefic 한 있는지 확인하기 위해 실제 생활에서 그것을 테스트 할 필요가 있습니다)

정규 표현식이없는 다른 방법

대상 문자열이 쉼표로 구분 된 목록 인 경우 분할/조인을 사용하면 최상의 솔루션을 유지할 수 있습니다.

관련 문제