@Mr-13
2018-09-05T08:44:46.000000Z
字数 587
阅读 66
未来无线
让这东西困扰了好久。。。。
系统默认:【([\u4e00-\u9fa5a-zA-Z_0-9-. ]*)】
签名允许包含字符:所有汉字、英文大小写字母、数字0~9、标点符号(-.)
这个规则下很多客户的签名都无法正常匹配,比如:【85°C】【恒信·绿洲】这样的签名都会被拦截掉;不符合要求。
当前新建客户账号使用规则为:【([^【】\s]{1,20})】
说明:
- [^【】\s] 表示不允许出现【】以及任何空白字符;
- [^【】\s]{1,20} 表示强制指定签名长度必须在1~20的长度之间,之前没有限定长度,导致提取签名过长,超过了数据库字段长度,短信批量入库失败,影响了全部的客户!如下图
- ([^【】\s]{1,20}) 这里是重点了,加上小括号,表示一个正则组(下图1),未来无线平台的签名正则格式必须要有组。
这儿对未来无线的正则组详细说一下。
之前使用表达式
【[^【】\s]{1,20}】
导致平台故障,故障表现为:
- 客户提交(有响应)无下发记录,查询 smsserver 服务的 cmpp_receive.log 日志,有接收和响应记录。但平台(网页管理端)查询不到发送记录。
- smsprocess 服务日志出现报错,如下:
![]()
因为没有加 () 导致smsprocess
服务无法提取到“组”,为了方便理解,给出两张图:
![]()
![]()
在上面的两张图里,图2比图1,多添加了 () ,这样就可以正常取到group 1
了。