有人可以用一个正则表达式帮助我
我的注册表是
SELECT REX.[Value],RS.LogEntryId FROM ReportServerReplica.[dbo].[ExecutionLogStorage] RS
OUTER APPLY [WarehouseMgmt].RegExpMatches(RS.[Parameters], '(?<=User=).+?(?=&)') REX
WHERE RS.[Parameters] IS NOT NULL
当我有像
这样的例子时,它会起作用&User=admin&Format:isnull=true&R
但它不适用于
&User=admin
我该如何解决这个问题?
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以尝试以这种方式匹配,直到 User = 之后找到&
。
(?<=User=)[^&]+
输出:
admin
模式说明:
(?<= look behind to see if there is:
User= 'User='
) end of look-behind
[^&]+ any character except: '&' (1 or more times)