我找到了用于阿拉伯字母的正则表达式,但是它也允许带字母的数字。如何更改它以使其仅允许字母?

/[\u0600-\u06FF]/

最佳答案

可能您需要检查数字匹配的范围并排除它(在方括号表达式中正式不包括)。

Here我找到了另一个有用的资源。

我建议只用字母

/[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]/


因为这只匹配阿拉伯数字

/[\u0660-\u0669\u06F0-\u06F9]/


编辑:

我发现unicode中有两个阿拉伯语和阿拉伯语数字范围。

如果您需要正则表达式来匹配一行,那么当它包含阿拉伯字母和数字时,请使用以下命令:

/^[\u0600-\u06FF]*$/


如果您还不希望使用阿拉伯数字,请使用以下命令:

/^[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*$/


如果要匹配子字符串,而不仅仅是整个行,请使用以下命令:

/\b[\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*\b/

关于regex - 正则表达式不允许数字-仅阿拉伯字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12518689/

10-15 11:58