【问题标题】:Regular expression to accept only greek characters正则表达式只接受希腊字符
【发布时间】:2018-05-28 14:26:12
【问题描述】:

我有这个正则表达式 ^[A-Za-z]{2,3}[0-9]{3,4}$,我用它在输入字段中验证它有 2 或 3 个字母和 3 或 4 个数字

我只想接受希腊字符。

我从PHP and regexp to accept only Greek characters in form 尝试了这个^[α-ωΑ-Ω]{2,3}[0-9]{3,4}$,但没有运气

我也试过^[\p{Greek}]{2,3}[0-9]{3,4}$,但还是没有运气

有什么建议吗?

有效字符串:ΚΚΞ542 OOP8888 ΠΠ8965 无效字符串:555555 K879 ΓΗΥΟ565

【问题讨论】:

  • 在实践中“没有运气”是什么意思?
  • 你试过像'~^\p{Greek}{2,3}[0-9]{3,4}$~u'一样吗?有效/无效字符串的示例是什么?
  • 表示该字段即使有2或3个字符和3或4个字母也始终无效
  • @WiktorStribiżew 它不起作用。我已经用有效/无效更新了我的答案
  • OOP8888 为何有效?它没有希腊字母。还有the rest is working well.

标签: php regex laravel


【解决方案1】:

您可以将字符与\p{Greek} 匹配,并且必须使用/u 修饰符:

'~^\p{Greek}{2,3}[0-9]{3,4}$~u'

请参阅regex demo

模式详情

  • ^ - 字符串开头
  • \p{Greek}{2,3} - 2 或 3 个希腊字符
  • [0-9]{3,4} - 3 或 4 个 ASCII 数字
  • $ - 字符串结束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 2011-08-20
    • 2016-12-28
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2013-11-26
    相关资源
    最近更新 更多