我需要匹配关键字并将这些关键字替换为<a />
html或<span></span>
标记。如果我使用以下正则表达式\w
text = text.replace(
/([\u0600-\u06ff\w]+)([^\u0600-\u06ff]+)()?/g,
replacer);
如果我使用以下正则表达式与\s
选项匹配,那么它匹配用ASCII包裹的所有单词,例如,
"
,'
等。在小提琴示例中,您将请注意,它会与第一段中的所有关键字匹配,并以,
text2 = text2.replace(
/([\u0600-\u06ff\s]+)([^\u0600-\u06ff]+)()?/g,
replacer);
如何修改此脚本以使其适用于组合并仅匹配精确的单词。我已经工作了几天我尝试了几个选项,但似乎没有工作,我尝试突出插件,也有自己的阿拉伯语问题。 此处https://stackoverflow.com/questions/29533793/highlighting-of-text-breaks-when-for-either-english-or-arabic
也提出了突出显示插件的问题答案 0 :(得分:0)
有可能将()?
更改为(?=\s|$)
(将匹配限制为空格或字符串结尾)可以解决您的问题:
text = text.replace(
/([\u0600-\u06ff\w]+)([^\u0600-\u06ff]+)(?=\s|$)/g,
replacer);
text2 = text2.replace(
/([\u0600-\u06ff\s]+)([^\u0600-\u06ff]+)(?=\s|$)/g,
replacer);