我有这个字符串cpu.usage_system;cpu=cpu-total;host=host1 6.94024205748818 1626401140
(支持标记的石墨度量消息(。
我正在尝试匹配字符串的第一部分,直到第一个出现的空格字符。。。但仅当字符串的第一部分不包含CCD_ 2时。
我可以用^([S]+)
匹配所有字符,直到空间第一次出现。我觉得我应该使用负面展望来检查;host=
的缺失,但我不知道如何将其整合在一起。
这个想法是匹配度量标签的第一部分(&tags(,看看它是否包含主机标签,如果它确实包含主机标签。。。别管它。如果它不包含主机标记,请附加一个。
这可能不是最优雅的解决方案,这取决于您还需要正则表达式做什么,但如果您只想排除包含;host=
的匹配行,则这种前瞻性应该有效:
^(?!.*;host=)([S]+)