javascript - 通过javascript中的正则表达式在单词边界处匹配希伯来语字符?

标签 javascript regex unicode

我能够在 JS 中匹配并突出显示这个希伯来字母:

var myText = $('#text').html();
var myHilite = myText.replace(/(\u05D0+)/g,"<span class='highlight'>$1</span>");
$('#text').html(myHilite);

fiddle

但不能突出显示在单词边界处包含该字母的单词:

/(\u05D0)\b/g

fiddle

我知道JS是bad at regex with Unicode (服务器端是首选),但我也知道我不擅长正则表达式。这是 JS 的限制还是我的语法错误?

最佳答案

我看不懂希伯来语...这个正则表达式是否符合您的要求?

/(\S*[\u05D0]+\S*)/g

您的第一个正则表达式 /(\u05D0+)/g 仅匹配您感兴趣的字符。

您的第二个正则表达式 /(\u05D0)\b/g 仅在您感兴趣的字符是单词边界之前的最后一个(或最后一个重复的)字符时匹配。 ..因此不会匹配单词开头或中间的那个字符。

编辑:

看这个答案

utf-8 word boundary regex in javascript

使用该答案中的信息,我想出了这个正则表达式,这是正确的吗?

/([\u05D0])(?=\s|$)/g

关于javascript - 通过javascript中的正则表达式在单词边界处匹配希伯来语字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095964/

相关文章:

javascript - Ant Design 中的 Step 内嵌套下拉菜单

javascript - 使用 ng-model 通过 ng-repeat 和 ng-options 标记下拉列表中的选定项目

python - 找出一个字符的unicode脚本

c++ - 何时使用 Boost.Locale 进行大小写折叠以及何时整理?

javascript - 根据可拖动方向设置轴 jQuery 可拖动

javascript - ReactJS/Javascript 如何从多维数组中删除重复数组?

Ruby 正则表达式不匹配

c# - 为什么 Regex.Replace 给我最后一组奇怪的结果

java - 模式和匹配器的问题

java - 如何获取ZZ_CMAP_PACKED中的word boundary?