找回密码
 立即注册

YL-呼叫路由--完全正则

2024-12-24 23:56| 发布者: admin| 查看: 8| 评论: 0

摘要: 一、正则规则说明正则表达式(Regular Expression)是一种用于描述字符串模式的工具。在UC的场景下,正则表达式用于匹配主叫、被叫号码的格式类型,通过正则表达式的匹配、区分,根据设定的呼叫路由实现不同的呼叫场 ...
 

一、正则规则说明

正则表达式(Regular Expression)是一种用于描述字符串模式的工具。在UC的场景下,正则表达式用于匹配主叫、被叫号码的格式类型,通过正则表达式的匹配、区分,根据设定的呼叫路由实现不同的呼叫场景。
正则表达式测试工具 :
① 正则表达式可视化工具 | 菜鸟工具⁤ (jyshare.com)
②https://tool.oschina.net/regex/

语法备注翻译
\d+匹配任意长度数字
\d{X}X=号码长度(几个数字)匹配X长度(位数)数字
\d{a,b}a、b为任意数字,a<b匹配a-b中的任意数字,a,b均为号码位数
[x-z]x、z均为(0-9)中的数字,x<z匹配x-z中的任意一位数字
(.+)匹配任意长度字符串(英文字母)
^起始符表示匹配字符串的开头(从这里开始匹配)
$终止符表示匹配字符串的结束(从这里停止匹配)
|逻辑标识
?!逻辑标识非(排除)
\+转译字符代表"+"
\@转译字符代表"@"
\#转译字符代表"#"
\*转译字符代表"*"

1.基础正则

基础正则涉及如下四类场景:
a. 号码长度(位数)匹配
b. 号码前缀匹配
c. 特殊字符匹配
d. 字符串匹配

类型案例应用语法表达式
号码长度仅匹配8位号码\d{X}^(\d{8})$
号码前缀匹配8610前缀任意位数号码\d+^(8610\d+)$ ^8610(\d+)$
特殊字符匹配+8610前缀11位号码\+,\d{X}^(\+8610\d{8})$ ^\+8610(\d{8})$
字符串匹配匹配abcd1234(.+),\d{X}^(.+)\d{4}

 ^ 表示匹配字符串的开头 建议必写
● \+ 表示匹配"+"字符(需要使用转义字符"")
● 8610 表示匹配字面值"8610"
● \d{8} 表示匹配8个数字字符 ● $ 表示匹配字符串的结尾 建议必写

2.复杂正则

复杂正则涉及到或、非等逻辑标识的使用,适用于复杂号码规则场景:
a. 多个位数号码
b. 多个前缀号码
c. 或
d. 非

类型案例应用语法表达式
多个位数号码匹配9开头的1-14位任意位数号码\d{a,b}^(9\d{0,13})$

● ^ 表示匹配字符串的开头
● 9 表示匹配数字9
● \d{0,13} 表示匹配0到13个数字字符(0到13位号码)
● $ 表示匹配字符串的结尾

类型案例应用语法表达式
多个前缀号码匹配1、2、3、4、5开头的1-14位任意位数号码[x,z],\d{a,b}^([1-5]\d{0,13})$

● ^ 表示匹配字符串的开头
● [1-5] 表示匹配数字1到5中的任意一个
● \d{0,13} 表示匹配0到13个数字字符(0到13位号码)
● $ 表示匹配字符串的结尾

类型案例应用语法表达式
匹配8610前缀任意位数号码 或 匹配9开头的1-14位任意位数号码\d+,\d{a,b},|^(8610\d+|9\d{1,14})$

● ^ 表示匹配字符串的开头
● (8610\d+|9\d{1,14}) 使用括号和竖线 "|" 表示两个不同的模式选择:
● 8610\d+ 匹配以 "8610" 前缀开头的任意位数号码,后面的数字可以是任意多个。
● 9\d{1,14} 匹配以 "9" 开头的 1-14 位任意位数号码,后面的数字可以是 1 到 14 位。
● $ 表示匹配字符串的结尾

类型案例应用语法表达式
匹配 非 542、543、544、545开头的9位数号码\d{X},?!,|(?!54(2|3|4|5))\d{6} $

● ^ 表示匹配字符串的开头
● (?!54(2|3|4|5)) 排除以 "542"、"543"、"544" 或 "545" 开头的情况。
● \d{6} 表示匹配六个数字字符 ● $ 表示匹配字符串的结尾
?!判断当前位置后面的内容是否不符合指定的模式。如果不符合,则继续匹配;如果符合,则匹配失败。
^ 表示匹配字符串的开?!判断当前位置后面的内容是否不符合指定的模式。如果不符合,则继续匹配;如果符合,则匹配失败。
下面是一些常见的使用方式:

  1. 排除特定号码或正则:可以使用 (?!正则) 来排除某个特定的字符或字符串。例如,(?!\d{8}) 表示不匹配 "任意8位号码"。
  2. 排除多个类型:可以使用"或" | 来组合。例如,(?!正则1|正则2) 表示不匹配正则1、正则2两类模式。 ||||

鲜花

握手

雷人

路过

鸡蛋

QQ|Archiver|手机版|小黑屋|融合通信站点

GMT+8, 2025-2-8 14:24 , Processed in 0.046113 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部