正则表达式西班牙语和阿拉伯语单词

2023-12-02

如何编写匹配所有有效的西班牙语和阿拉伯语单词的正则表达式。
用我知道的英语来说,它是a-zA-z,在希伯来语中是א-ת, 俄语А-Яа-яёЁ.
我使用 JavaScript。


范围a-zA-Z因为英语单词的简单和天真令人难以接受。它省略了所有带有重音符号的字母以及在借词等中使用的其他特殊标记。例如,它不会匹配我第一句话中的“naïve”一词。使用\p{Latin}相反,脚本。

范围א-ת对于希伯来语来说也是错误的。它省略了希伯来语的表达形式、颂歌符号、意第绪语二合字母等。使用\p{Hebrew}相反,脚本。

范围А-Яа-яёЁ对于俄语来说,这又是不完整和错误的。使用\p{Cyrillic}相反,脚本。

西班牙语字母表使用与英语相同的 26 个字母,加上 ñÑ。但同样,不要将它们硬编码到一个范围内。许多西班牙语单词都使用重音元音。使用\p{Latin}匹配西班牙语单词的脚本。正则表达式无法帮助您区分西班牙语和英语。

对于阿拉伯语,请使用\p{Arabic} script.

JavaScript、正则表达式和 Unicode

你说你正在使用 JavaScript。不幸的是,JavaScript 对内置 Unicode 的支持非常少。在 JavaScript 中,您需要使用XRegExp 库和它的统一码插件。这将允许您在正则表达式中使用我上面提到的所有 Unicode 脚本。

脚本与块

始终优先考虑 Unicode 脚本而不是 Unicode 块。块与特定脚本中的代码点匹配不佳。块经常会遗漏许多超出其不完整范围的重要代码点,并且包含许多尚未分配任何字符的代码点。脚本包含所有相关的代码点,仅此而已。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式西班牙语和阿拉伯语单词 的相关文章

随机推荐

  • 获取存储在变量中的字符串的值,该变量的名称作为字符串存储在另一个变量中

    lt assign blah foo gt lt assign foo awesome gt 我们可以在不引用 foo 的情况下渲染 awesome 吗 我尝试过类似的东西 blah 但它不起作用 有什么想法吗 有一个eval内置函数 它将
  • rCharts nvd3 库强制刻度

    我想强制所有刻度线和刻度标签沿着轴出现rChartsn 绘图从nvd3图书馆 我尝试了几种方法但没有成功 这是默认行为 df lt data frame x 1 13 y rnorm 13 library rCharts n lt nPlo
  • 开发人员之间使用不同版本的 git

    如果我安装了 GIT 1 9 4 版本并且服务器上的存储库使用的是 1 8 2 会有问题吗 使用不同版本的 GIT 工作是否存在任何问题 团队中的每个人都应该拥有相同的版本还是无关紧要 可以在文档中找到任何相关信息 我将不胜感激您的帮助 1
  • 从多个表中选择语句,具有可变输入

    我有两张桌子 AreaCode and EquipmentNumber AreaCd AreaID INT NOT NULL AUTO INCREMENT Code INT Name CHAR 30 Comments TEXT PKEY A
  • 密钥在 pm3d gnuplot 中变得不可见

    我正在使用以下代码使用 pm3d 地图在 gnuplot 中绘制图形 set pm3d map set pm3d corners2color c1 spl patternD0pt02 dat title a 但是当生成图时 本来应该出现在右
  • 使用注释的 Spring Integration Executor Channel 代码示例

    附上我的系统图 系统图 流程如何运作 spring 集成流程从 C 上的 json 文件读取输入并执行 2 个操作 存入数据库 通知 打印给用户 重要标准 我希望存储到数据库流中独立于业务逻辑 打印到 通知用户 即数据库exception
  • 应用程序被终止后 Android 服务停止

    我想创建一个service即使应用程序从任务管理器关闭 它也会运行 我创建了一个服务 然后记录一条消息以检查它是否正在运行 我注意到它仅在应用程序正在运行或在前台运行时才有效 服务等级 public class CallService ex
  • 具有多选下拉菜单的数据表特定列过滤器

    我在 Datatable API 中看到了这种可能性 可以使用 Drop down 进行特定列过滤 Ref https datatables net examples api multi filter select html 但对我来说 它
  • Android 上的浮动应用程序(窗口应用程序)

    有谁知道如何创建浮动窗口 下图显示了我的意思 源代码 我在各种网站上读到 为了做到这一点 应用程序必须作为服务运行 而该服务又应该使用 TYPE SYSTEM ALERT 作为活动运行 如果上述是或不是真的 我仍然不知道如何实现代码 有人可
  • 使用 python 缓慢上传到 azure blob 存储

    Api 接收文件 然后尝试创建唯一的 blob 名称 然后我将 4MB 的块上传到 blob 每个块大约需要 8 秒 这正常吗 我的上传速度是110Mbps 我尝试上传一个 50MB 的文件 花了将近 2 分钟 我不知道azure blob
  • 如何使用ajax保存到数据库

    我有一个工作正常的代码 但数据无法保存到数据库 我想通过 Ajax 将 cost currency rate profit rate 和 pprice 插入数据库 这是javascript和update php的代码 我尝试修改代码以保存在
  • 如何使用批处理文件分割字符串?

    如何使用批处理脚本分割字符串 设置java path C Program Files Java jdk1 6 0 31 上面是我的字符串 我只想要 java path 中的 C Program Files 如何得到它 您可以按字符位置拆分字
  • 使用 Log4j 的每个用户都有不同的日志

    我有一个 Web 应用程序 我想为每个用户使用不同的日志 这样我就可以获得用户在系统上执行的操作的 历史记录 这是我到目前为止所拥有的 import java io File import java io IOException impor
  • 将单词列表转换为数组[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我试图查看是否有任何脚本可以将单词列表转换为数组 但我似乎找不到 有人知道我在哪里可以找到一个吗 Input Dog Cat Hamster 转换为 Dog Cat Hamster 不
  • cURL 错误 58:SSL:无法加载证书“...”及其私钥:Mac 上的 OSStatus -25299

    该代码在 Ubuntu vagrant box 上运行良好 但在本地 MacO 上它不会加载证书 说 cURL error 58 SSL Can t load the certificate and its private key OSSt
  • 如何像矩阵乘法一样将行向量添加到列向量

    我有一个 nx1 向量和一个 1xn 向量 我想以一种特殊的方式添加它们 例如以有效的方式 矢量化 矩阵乘法 Example A 1 2 3 B 4 5 6 A odd add B 1 4 1 5 1 6 2 4 2 5 2 6 3 4 3
  • 命名空间::变量的多重定义,甚至使用 ifndef

    我知道我在这里一定做错了什么 rank h ifndef RANK H define RANK H namespace mmi int chunk void rank int my rank endif rank cpp include r
  • 如何检测 Python 是否作为 64 位应用程序运行? [复制]

    这个问题在这里已经有答案了 我正在对 Windows 注册表进行一些工作 根据 Python 运行为 32 位还是 64 位 某些键值会有所不同 如何检测 Python 是作为 64 位应用程序运行还是作为 32 位应用程序运行 我对检测
  • 在悬停时添加边框时如何防止移动? (透明边框不是解决方案)[重复]

    这个问题在这里已经有答案了 我想在悬停时为 div 添加边框 但是添加边框时 div 稍微有点拉屎 这是一个众所周知的问题 常见的解决方案是添加透明边框 例如 但是 我的 div 中有一张包含一些文本的图像 我希望该图像占据 div 的全宽
  • 正则表达式西班牙语和阿拉伯语单词

    如何编写匹配所有有效的西班牙语和阿拉伯语单词的正则表达式 用我知道的英语来说 它是a zA z 在希伯来语中是 俄语 我使用 JavaScript 范围a zA Z因为英语单词的简单和天真令人难以接受 它省略了所有带有重音符号的字母以及在借