Я пытаюсь linkify хештегов с использованием регулярных выражений, большинство случаев работать кроме случаев, когда есть слово с точкой в конце hot.
, это должно только linkify #hot
, но в то же время #hot.hot
действуетlinkify слов с использованием регулярных выражений
Вот мой код регулярного выражения:
var text = "#hot#hot hot #hot #hot.hot #hót #hot_hot #hot, (#hot) #hot. hot";
text.replace(#([^\b#,() ]*)/g, '<a href="/$1">#$1</a>');
выход:
<a href="/hot">#hot</a><a href="/hot">#hot</a> hot <a href="/hot">#hot</a> <a href="/hot.hot">#hot.hot</a> <a href="/hót">#hót</a> <a href="/hot_hot">#hot_hot</a> <a href="/hot">#hot</a>, (<a href="/hot">#hot</a>) <a href="/hot.">#hot.</a> hot
единственный вопрос #hot.
должен linkify только #hot
одновременно #hot.hot
действует
Я не уверен, что «\ b» внутри класса символов действительно что-то делает. Нет символа, который соответствует «\ b», поэтому все символы будут включены в «[^ \ b]». По крайней мере, он не обрабатывает такие вещи, как восклицательные знаки, если это было намерением. – Jens