Netscaler 正则表达式语法返回最后一个单词

问题描述 投票:0回答:1

我正在尝试从用户属性字符串中提取最后一个单词。 用户属性为 AAA.USER.ATTRIBUTE(7) 属性值字符串例如“ord1 ord2 or3 or4”

如果我使用表达式 AAA.USER.ATTRIBUTE(7).AFTER_REGEX(re/\s/) 我的结果是

“ord2 ord3 ord4”,即我在第一个空格之后得到所有内容。

我与 Copilot 进行了长时间的对话,与 ChatGPT 进行了几乎同样乏味的对话,他们都提出了类似的建议 AAA.USER.ATTRIBUTE(7).AFTER_REGEX(re/s(\w+)$/)

但是,这会返回 NULL 值。

谁知道我怎样才能得到最后一句话?

两种情况:AAA.USER.ATTRIBUTE(7) = "ord1 ord2 ord3 or4" 测试1: AAA.USER.ATTRIBUTE(7).AFTER_REGEX(re/\s/) 预期和实际结果:“ord2 ord3 ord4” - 全部在第一个空格之后

测试2: AAA.USER.ATTRIBUTE(7).AFTER_REGEX(re/s(\w+)$/) ChatGPT 和 Copilot 的预期结果:“ord4” 实际结果:UNDEF(Netscaler GUI 的表达式评估器中的结果)

regex citrix adc netscaler
1个回答
0
投票

要捕获最后一个空格之后的所有内容,请使用:

.+\s(.+)$

添加 Netscaler 的分隔符,它看起来像这样

re#.+\s(.+)$#

在此处阅读有关捕获分组(括号)的信息。

© www.soinside.com 2019 - 2024. All rights reserved.