正则表达式删除 -i- 之后的所有内容(使用 -i-)
Regex to remove everything after -i- (with -i-)
我正在尝试为我的问题找到解决方案。
Input: prd-abcd-efgh-i-0dflnk55f5d45df
Output: prd-abcd-efgh
Tried Splunk Query : index=aws-* (host=prd-abcd-efgh*) | rex field=host "^(?<host>[^.]+)"| dedup host | stats count by host,methodPath
我想删除“-i-”之后的所有内容,使用简单 regex.I 尝试使用此处列出的正则表达式“^(?[^.]+)”
请帮我解决一下
我不了解 Splunk。但通常的做法是匹配您不需要的部分并将其替换为空字符串。
这样做的正则表达式可以是:
-i-.*
然后用空字符串替换匹配项。
像这样简单的东西应该可以工作:
([a-z-]+)-i-.+
第一个捕获组将 return 仅 -i-
.
之前的部分
replace(host, "(?<=-i-).*", "")
此处示例:https://regex101.com/r/blcCcQ/2
这个(?<=-i-)
是一个lookbehind
我正在尝试为我的问题找到解决方案。
Input: prd-abcd-efgh-i-0dflnk55f5d45df
Output: prd-abcd-efgh
Tried Splunk Query : index=aws-* (host=prd-abcd-efgh*) | rex field=host "^(?<host>[^.]+)"| dedup host | stats count by host,methodPath
我想删除“-i-”之后的所有内容,使用简单 regex.I 尝试使用此处列出的正则表达式“^(?[^.]+)”
请帮我解决一下
我不了解 Splunk。但通常的做法是匹配您不需要的部分并将其替换为空字符串。
这样做的正则表达式可以是:
-i-.*
然后用空字符串替换匹配项。
像这样简单的东西应该可以工作:
([a-z-]+)-i-.+
第一个捕获组将 return 仅 -i-
.
replace(host, "(?<=-i-).*", "")
此处示例:https://regex101.com/r/blcCcQ/2
这个(?<=-i-)
是一个lookbehind