XRegExp заменить
Я пытаюсь выполнить некоторые манипуляции со строками для некоторых слов, которые могут содержать или не содержать символы Юникода.
Вот мой код:
var regex = XRegExp("(\\P{L}+)", "gui");
var s = 'no sea demásiado tarde';
var ret = XRegExp.replace(s, regex, "<span>$1</span>");
console.log(ret);
<script src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.min.js"></script>
Но слова не обертываются тегами span, как ожидалось. Как так?
Спасибо
1 ответ
Решение
Потому что вы заключаете не письма с \\P{L}+
как \P{L}
соответствует любому символу, кроме буквы Юникод.
использование "\\p{L}+"
шаблон и заменить <span>$&</span>
($&
обратная ссылка означает весь матч).
var regex = XRegExp("\\p{L}+", "gui");
var s = 'no sea demásiado tarde';
var ret = XRegExp.replace(s, regex, "<span>$&</span>");
console.log(ret);
<script src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.min.js"></script>