正则表达式不允许数字 - 只是阿拉伯字母

Noo*_*oon 15 regex arabic

我找到了这个阿拉伯字母的正则表达式,但它也允许带字母的数字.如何更改它以仅允许字母?

/[\u0600-\u06FF]/
Run Code Online (Sandbox Code Playgroud)

Krz*_*ski 23

可能你必须检查数字匹配的范围并排除它(正式不包括在括号表达式中).

在这里,我发现了另一个有用的来源.

我建议这只是字母

/[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]/
Run Code Online (Sandbox Code Playgroud)

因为这只匹配阿拉伯数字

/[\u0660-\u0669\u06F0-\u06F9]/
Run Code Online (Sandbox Code Playgroud)

编辑:

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

如果你需要一个正则表达式来匹配一行,当它包含阿拉伯字母和数字时 - 使用这个:

/^[\u0600-\u06FF]*$/
Run Code Online (Sandbox Code Playgroud)

如果你还想阻止阿拉伯数字 - 使用这个:

/^[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*$/
Run Code Online (Sandbox Code Playgroud)

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

/\b[\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*\b/
Run Code Online (Sandbox Code Playgroud)


ama*_*l50 7

我尝试了这里提供的所有解决方案,没有任何效果,最后一个解决方案仅适用于阿拉伯字母

^[\u0621-\u064A\040]+$
Run Code Online (Sandbox Code Playgroud)