я пытаюсь сопоставить некоторые слова в тексте
рабочий пример (что я хочу) regex101:
regex = /(?<![a-z])word/g
text = word 1word !word aword
будут сопоставлены только первые три слова, чего я и хочу добиться. но взгляд сзади не будет работать в javascript :(
так что теперь я пробую это regex101:
regex = /(\b|\B)word/g
text = word 1word !word aword
но все слова будут совпадать, и им не может предшествовать другая буква, только целое число или специальные символы. если я использую только меньшую "\b", 1слово не будет совпадать, а если я использую только "\B", то !слово не совпадет
Изменить
Вывод должен быть ["слово","слово","слово"]
и 1! не должен быть включен в соответствие и не в другую группу, потому что я хочу использовать его с javascript .replace(regex,function(match){}), который не должен зацикливаться на 1 и !
Код, для которого я его использую
for(var i = 0; i < elements.length; i++){
text = elements[i].innerHTML;
textnew = text.replace(regexp,function(match){
matched = getCrosslink(match)[0];
return "<a href='"+matched.url+"'>"+match+"</a>";
});
elements[i].innerHTML = textnew;
}
"word"
, если ему не предшествует буква? - person   schedule 13.10.2015