У меня есть такая фраза какJavascript регулярного выражения «подслово» заменить
«все меняется вокруг меня, чудной вещи +, tthingxx»
и я хочу изменить каждое слово, которое содержит *** вещи в конце этого слова, или в большинстве другого персонажа после «вещь», как «+» или «ч» или «х» ...
что-то вроде
string = 'everything is changing around me, wonderful thing+, tthingxx'
regex = new RegExp('thing(\\+|[g-z])$','g');
string = string.replace(regex, '<b>thing$1</b>');
что я хочу? каждый вещь меняется вокруг меня, прекрасная вещь +, tthingxx
результат моих регулярных выражений? ничего работает ... если я удалить все слова, содержащие $ «вещь» и, по крайней мере, еще один символ после того, как подбираются:
все меняется вокруг меня, замечательная вещь +, т thingx х
Я пробовал все, но - на первом месте я не могу понять очень хорошо технический английский - и, во-вторых, я не нашел ответа.
что я должен сделать ??? спасибо заранее
решение, которое я нашел использовал это регулярное выражение
/thing([+g-z]){0,1}\b/g
или с RegExp (мне нужно это, потому что я должен передать переменную):
myvar = 'thing';
regex = new RegExp(myvar + "([+g-z]){0,1}\\b" , "g");
Мне не удалось побег \ при выполнении регулярного выражения во втором режиме. Но этого недостаточно: + выходит из < b > и я действительно не знаю почему !!!
решение, которое работает, как я хочу, это один на @Qtax:
/thing([+g-z])?(?!\w)/g
спасибо сообществу!
То, что вы хотите получить не ясно, по крайней мере, для меня. Каков желаемый результат? –
Я заметил, что использование 'thing (\\ + | [g-z]) {0,1}' немного лучше, но я не знаю, как сказать regexp, что есть конец слова. $ не работает, \ b не работает ... –
Я решил: я пытался использовать \ b istead из ** \\ b ** во время строки определения RegExp ... теперь все в порядке: 'RegExp (' вещь (\\ + | [gz]) {0,1} \\ b ') ' –