【问题标题】:Asterisk: how to match following numbers in single pattern星号:如何在单个模式中匹配以下数字
【发布时间】:2014-05-04 06:03:42
【问题描述】:

我需要在 Asterisk 拨号计划中匹配来电分机号码,可以是

  • 准确
  • 以区域为前缀
  • 国家和地区代码

如果我的本地分机是 5321879,我可以接听来电:

  1. 0038515321879
  2. 015321879
  3. 5321879

我怎样才能用单一模式匹配每一个?

_!5321879
可用于 Asterisk 拨号方案

除了拥有 3 个不同的扩展之外,还有其他解决方案吗?

【问题讨论】:

  • 我不太明白这个问题。你能试着澄清一下吗?
  • @IonutHulub 好吧,我需要找到是否有可能获得这样的表达式,该表达式将捕获 Asterisk 中的所有 3 种可能性,或者我应该为每种可能性进行单独的扩展匹配.

标签: asterisk


【解决方案1】:
^(01|003851)?5321879$

这应该可以满足您的要求。

【讨论】:

  • 这是用作正则表达式的东西。我需要的是 Asterisk dialp-plan 中的正则表达式。有少量的野生字符。实际上是 Asterisk 的一个问题,我已经从问题中删除了 regexp TAG。来自 Asterisk 文档:字母 X 或 x 代表从 0 到 9 的单个数字。字母 Z 或 z 代表从 1 到 9 的任何数字。字母 N 或 n 代表从 2 到 9 的单个数字。如果您想匹配所有前两位数字为六和四的四位数字,您将创建一个如下所示的扩展: exten => _64XX,1,SayDigits(${EXTEN})
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 2020-10-23
相关资源
最近更新 更多