我试图形成一个regex表达式,我想在Dynatrace请求命名规则中使用,这样它就可以用一个更友好的名字来命名与此Regex匹配的请求,我很难构建一个适合我需要的表达式。该工具只支持“包含Regex”和“不包含Regex”运算符,这导致我匹配多个我不想匹配的项目。
Regex语句示例(我使用“Contains Regex”运算符)/getdata/[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}
我只想匹配的请求:/getdata/0209133c-6beb-45f4-a9c8-063d86d53609
相同正则表达式匹配的其他请求:
/getdata/0209133c-6beb-45f4-a9c8-063d86d53609/confirm
/getdata/0209133c-6beb-45f4-a9c8-063d86d53609/order/cancel
/getdata/0209133c-6beb-45f4-a9c8-063d86d53609/retry
我理解为什么它匹配它,它基本上做了它要求做的事情,但我希望了解是否有任何方法来指定我想要使用包含正则表达式运算符。
2条答案
按热度按时间qzlgjiam1#
我看完自己的问题后几分钟就想明白了。
所以我用了-
比赛-
/getdata/[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}
不匹配-
/getdata/[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}/
请告诉我是否有其他有效的方法在一个正则表达式语句中处理相同的内容:)
sczxawaw2#
$
行尾锚就是为了帮助您解决这个问题而设计的(我还将使用^
行尾锚作为最佳实践,因为它允许我们efficiently跳过不匹配的行)。我们可以写一个类似的正则表达式: