opensips REGEX
原文
Prev
Modules->Scripting modules->Script helper modules->REGEX
概述
该模块使用功能强大的PCRE库提供正则表达式的匹配操作。
加载模块时将编译包含分组正则表达式的文本文件,并将已经编译的PCRE对象存储在数组中。并且提供了一个函数可以处理任意一个字符串或者伪变量匹配操作。可以通过MI命令随时修改或者加载文本文件。该模块还提供了一个函数可以根据提供的正则表达式的函数参数执行PCRE匹配操作。
对外提供的functions
pcre_match(string, pcre_regex)
将字符串与正则表达式pcre_regex(被编译为PCRE对象)匹配,匹配返回TRUE,反之返回FALSE
参数含义如下
- string -要比较的字符串或者伪变量
- pcre_regex - 要编译成PCRE对象的正则表达式。可以是string或者伪变量。‘
注意:如果在正则表达式中使用行尾符号'$',请使用'$$'
这个函数可以在REQUEST_ROUTE, FAILURE_ROUTE, ONREPLY_ROUTE, BRANCH_ROUTE和LOCAL_ROUTE中使用。
Example 1.8. pcre_match usage (forcing case insensitive)
...
if (pcre_match("$ua", "(?i)^twinkle")) {
xlog("L_INFO", "User-Agent matches\n");
}
...
Example 1.9. pcre_match usage (using "end of line" symbol)
...
if (pcre_match("$rU", "^user[1234]$$")) { # Will be converted to "^user[1234]$"
xlog("L_INFO", "RURI username matches\n");
}
...