Citrix ADC

正则表达式

当您想要执行比您的包含的操作更复杂的字符串匹配操作()或情商()操作员,您使用正则表达式。Citrix®CitrixADC®设备上的策略基础架构包括您可以将正则表达式作为文本匹配的参数传递的运算符。使用正则表达式的运算符的名称包括String Regex。作为参数传递的正则表达式必须符合所描述的正则表达式语法。”您可以了解有关常规表达式的更多信息和在“< http://www.silverstones.com/thebat/Regex.html >。”

使用正则表达式的操作符的目标文本可以是文本,也可以是HTTP头的值。下面是使用正则表达式操作符对文本进行操作的高级策略表达式的格式:

(re

字符串表示高级策略表达式前缀,其标识数据包中的文本字符串(例如,http.req.url)。字符串表示正则表达式运算符。正则表达式始终以字符串RE开头。一对匹配的分隔师,由此表示,括在一起< regex_pattern >,表示正则表达式。

下面的示例表达式检查HTTP包中的URL是否包含该字符串* .jpeg(在哪里是一个通配符),并返回一个布尔值TRUE或FALSE来指示结果。正则表达式包含在一对斜杠标记(/)中,作为分隔符。

http.req.url.regex_match (re /。<星号> \ jpeg /)。

可以将正则表达式运算符组合以定义或优化搜索的范围。例如,<文本> .AFTER_REGEX (reregex_pattern1) .BEFORE_REGEX (reregex_pattern2)指定字符串匹配的目标是模式Regex_pattern1和Regex_pattern2之间的文本。您可以在由正则表达式定义运营商范围使用文本操作。例如,您可以使用包含()操作员检查定义的范围是否包含字符串ABC:

<文本> .AFTER_REGEX (re / regex_pattern1) .BEFORE_REGEX (re / regex_pattern2 /) .CONTAINS(“abc”)

请注意

评估正则表达式的过程本身需要比诸如包含的操作员的时间更多时间()或情商(),使用简单的字符串参数工作。只有您的要求超出其他运营商的范围,您才能使用正则表达式。

正则表达式