正则表达式验证ABC PVT(ltd)格式的客户名称

时间:2017-12-04 12:29:29

标签: php regex laravel validation

我必须验证客户名称。以下是客户名称的有效标准

  1. 客户名称可以以字母数字
  2. 开头
  3. 它可以有字母数字(。)连字符( - )和&符号 或(在
  4. 之间
  5. 它应以字母数字结尾或可以有空格。要么     关闭')'
  6. 有效名称示例'ABC pvt ltd','A.B.C''L& T'

  7. 理想情况下,只有当括号打开时才应该匹配。

  8. 这是我的正则表达式

    <code>
          (^[a-zA-Z\s][a-zA-Z0-9-&\'\\.\\(\s]+[a-zA-Z0-9\s\\.\\)]
    </code>
    

    这可以变得更优雅吗?

    当前正则表达式的问题

    1. 匹配E(测试
    2. 正则表达式很长

1 个答案:

答案 0 :(得分:3)

你违反了自己的第一条规则,你可以选择:

(?i)^[a-z0-9]([a-z0-9 (.&-](?(?<=\()(?=[^()]++\)$)))*[a-z0-9) ]$

<强> Live demo