首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取一些字母表字符什么的也没有

取一些字母表字符什么的也没有
EN

Stack Overflow用户
提问于 2015-06-03 14:42:15
回答 2查看 50关注 0票数 0

我想检查输入是否是波斯语,并且至少有3个字符。当我使用下面的regex时,它会工作。它检查单词的开头是否是波斯语,但我希望它也以波斯语结尾,并且不包含英文字母和数字。

代码语言:javascript
复制
/^[ئابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهآی\s]{3,}/

为了确保它以波斯语结尾,我在$之后添加了],但是我得到了以下错误:

警告: preg_match():编译失败:在偏移量77处没有重复 /^ئابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهآی\s${3,}/

此外,结束括号\s之前的]是什么?这是新的生产线吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-03 15:03:22

要匹配阿拉伯字母,可以使用:

代码语言:javascript
复制
^[\x{600}-\x{6FF}]{3,}$
代码语言:javascript
复制
if (preg_match('/^[\x{600}-\x{6FF}]{3,}$/u', $value)) {
    # match
} else {
    # no match
}
票数 1
EN

Stack Overflow用户

发布于 2015-06-03 14:46:51

使用

代码语言:javascript
复制
/^[ئابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهآی\s]{3,}$/u

$是行/字符串锚点的末尾,是不可量化的(即不能在其之后使用+*{1,} )。

请参阅演示

至于\s,它只匹配这个集合:[\r\n\t\f ]的空白。

编辑:使用Rishida Unicode转换器,i 重写你的表情使用\x块:

代码语言:javascript
复制
/^[\x{626}-\x{628}\x{67E}\x{62A}-\x{62C}\x{686}\x{62D}\x{62E}\x{62F}-\x{632}\x{698}\x{633}-\x{63A}\x{641}\x{642}\x{6A9}\x{6AF}\x{644}-\x{648}\x{622}\x{6CC}]{3,}$/u

它不允许使用空格,而且看起来比^[ئابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهآی]{3,}$也应该起作用更好看(BTW,在MS中,它看起来更漂亮:)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30623332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档