0
나는 굵은 문장에서 특정 단어를 찾는다. 나는 정규 표현식의 상당 부분을 이해하지 못한다. 그리고 이것은 내 코드가 ALMOST가 아닌 것이다.문자열에서 문자열을 찾아서 regexp로 바꾸기
function updateHaystack(input, needle) {
return input.replace(new RegExp('(^|\\s)(\' + needle + \')(|$)','ig'), '$1<b>$2</b>$3');
}
이것은
- 풍부하게 -> 다음에, 풍부주의 그것을 호출합니다.
- acquiesce -> 정권의 끝은 이 무덤에을 묵인합니다! 단어의 주위에 (단어가 굵은 글씨가되지 않습니다)/전에 특수 문자가있을 때
그러나, 그것은 작동하지 않습니다
- 장치 -> 그 검색합니다. - ...기구.
- 경매 - 글쎄, "경매가"내 이력서에 멋진 일이 될 것 같아.
- 소란스런 소리를 내며 움직이다 -> (흔들 거리는)
- 손잡이 -> [손잡이 딸랑이] 그것 때문에 당신의 정규식에서이 부분의 무슨 일이 일어나고
감사합니다. 그러나 이것은 항상 작동하지 않습니다. 예 : 퇴직의 경우 -> 귀하가 요청한대로 자금을 출연 한 이유는 무엇입니까? 이러한 경우는 문맥에 단어의 다른 형식 (-ed, -ing, -s 등)이 포함되어있는 경우 문제가됩니다. ( – erdomester
질문의 모든 사례를 지정하지 않았지만 '포함 된 해당 사례가 입력을 반환합니다. replace (new RegExp (needle, 'ig'), '$ &');'원하지 않는 문자열과도 일치 할 수 있습니다. 예를 들어'man'이'mandate' 또는'woman'과 일치합니다. – anubhava
단어가 일치하도록 수정할 수 있습니까? 남자가 위임장과 일치한다면 괜찮아요. 여자는 일치 시켜서는 안됩니다. '\\ b'와'ig'는 무엇을하는지 명확히 할 수 있습니까? – erdomester