[关闭]
@Mr-13 2018-09-05T08:44:46.000000Z 字数 587 阅读 66

账号签名正则

未来无线


  image_1cmk94gp33ij1nq560319p41tk0p.png-16.1kB

  让这东西困扰了好久。。。。

系统默认:【([\u4e00-\u9fa5a-zA-Z_0-9-. ]*)】
签名允许包含字符:所有汉字、英文大小写字母、数字0~9、标点符号(-.)

  这个规则下很多客户的签名都无法正常匹配,比如:【85°C】【恒信·绿洲】这样的签名都会被拦截掉;不符合要求。

当前新建客户账号使用规则为:【([^【】\s]{1,20})】

说明:

  • [^【】\s] 表示不允许出现【】以及任何空白字符;
  • [^【】\s]{1,20} 表示强制指定签名长度必须在1~20的长度之间,之前没有限定长度,导致提取签名过长,超过了数据库字段长度,短信批量入库失败,影响了全部的客户!如下图
  • ([^【】\s]{1,20}) 这里是重点了,加上小括号,表示一个正则组(下图1),未来无线平台的签名正则格式必须要有组。

    image_1cmkcp9op8diqnmgnp1uja1rj59.png-95.5kB

  这儿对未来无线的正则组详细说一下。

之前使用表达式 【[^【】\s]{1,20}】 导致平台故障,故障表现为:

  • 客户提交(有响应)无下发记录,查询 smsserver 服务的 cmpp_receive.log 日志,有接收和响应记录。但平台(网页管理端)查询不到发送记录。
  • smsprocess 服务日志出现报错,如下:

    12315.jpg-51.6kB

    因为没有加 () 导致 smsprocess 服务无法提取到“组”,为了方便理解,给出两张图:

    12316.jpg-33.2kB

    12317.jpg-32.6kB

    在上面的两张图里,图2比图1,多添加了 () ,这样就可以正常取到 group 1 了。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注