이것은 here 질문의 약간 수정 된 버전입니다. 차이점은 앞이나 뒤쪽에있는 굵은 태그에 특수 문자가 포함되지 않는다는 것입니다.Javascript Regex : 건초 더미에서 바늘을 튀기 편집
바늘과 건초 더미가 있다면 바늘 주위에 과감한 태그를 넣고 싶습니다. 그래서 replace()와 함께 사용할 정규 표현식은 무엇입니까? SPACE가 delimeter가되도록하고 검색에서 대소 문자를 구별하지 않기를 원합니다. 검색에서 무시할 특수 문자 (예 : @! #.())를 사용합니다.
바늘이 "암소"이고 건초 더미는 ...
cows, at www.cows.com, milk some COWS!
또한 키워드 "누가 MGMT는"그래서 경우에 공백을 가질 수 있어야 키워드가
<b>cows</b>, at www.cows.com, milk some <b>COWS</b>!
로 변신 것입니다
great band. who. is. mgmt btw?
위
에
great band. <b>who. is. mgmt</b> btw?
참고로 점 될지는 나는이 현재 가지고 :
function updateHaystack(input, needle) {
return input.replace(new RegExp('(^|\\s)(' + needle + ')(\\s|$)','ig'), '$1<b>$2</b>$3');
}
를 불행히도 않는 특수로 연결됩니다 굵게 표시되지 않은 단어 char ... 예. ! 소가 바로 전에 특수 문자를 포함하는 클래스를 생성 !<b>cow</b>
foo라는 단어가 다른 단어의 일부 였고 그 단어를 굵게 표시하려면 어떻게해야합니까? – crosenblum
그런 다음'\ b's를 제거하십시오. –