V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dadazhang
V2EX  ›  问与答

求正则表达式!!!

  •  1
     
  •   dadazhang · 2017-04-13 13:03:59 +08:00 · 2183 次点击
    这是一个创建于 2800 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由英文字母( a-z ,不区分大小写)、数字( 0-9 )、中文汉字以及连字符"-"(即中横线)构成,不能使用空格及特殊字符(如!、$、&、?等)。“-” 不能单独出现或连续使用,不能放在开头或结尾。

    8 条回复    2017-04-13 16:20:51 +08:00
    DT27
        1
    DT27  
       2017-04-13 13:33:19 +08:00
    ([A-Za-z0-9]|[\u4e00-\u9fa5])+-?([A-Za-z0-9]|[\u4e00-\u9fa5])+
    测试通过
    DT27
        2
    DT27  
       2017-04-13 13:34:27 +08:00
    你在测试时首尾加上^跟$
    qwsqwa
        3
    qwsqwa  
       2017-04-13 13:54:31 +08:00
    @DT27 这个有问题,这里“-”只能出现一次。
    metowolf
        4
    metowolf  
       2017-04-13 14:21:42 +08:00 via iPhone
    感觉和域名的规则差不多啊,考虑可以把域名的正则去掉长度来用
    dadazhang
        5
    dadazhang  
    OP
       2017-04-13 15:14:18 +08:00
    @metowolf 就是域名的正则。。。还有没有解决方案
    dadazhang
        6
    dadazhang  
    OP
       2017-04-13 15:14:32 +08:00
    @DT27 了解
    dadazhang
        7
    dadazhang  
    OP
       2017-04-13 15:28:17 +08:00
    @DT27 preg_match('/^([A-Za-z0-9]|[\u4e00-\u9fa5])+-?([A-Za-z0-9]|[\u4e00-\u9fa5])+$/', $str); 我用 PHP 这样写的,没有匹配。。。
    wangning3100
        8
    wangning3100  
       2017-04-13 16:20:51 +08:00
    /^[a-z\d\u4e00-\u9fa5]+(?:-?[a-z\d\u4e00-\u9fa5]+)*$/i
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1347 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:19 · PVG 01:19 · LAX 09:19 · JFK 12:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.