我是新來的正則表達式的世界,所以請善待在發脾氣:-)尋找之間的「{」和單個事件「:」在一個大的文本
我想僅打印第一在{
和:
之間出現字符串。
實施例以下字符串:
({TRIGGER.VALUE} = 0和{的zabbix窗口:ZABBIX [過程,發現者,AVG,忙] .AVG(10M)}> 75)
或
({TRIGGER.VALUE} = 1和{的zabbix窗口:ZABBIX [過程,發現者,AVG,忙] .AVG(10M)}> 65)
我希望它輸出只有Zabbix windows
這怎麼可能?
我試過{([a-zA-Z0-9 ]*):
它打印:
並做了兩次。
感謝您的閱讀! 作者Srini
使用['\ {([\ w \ s] +):。*'](https://regex101.com/r/0iVuAx/1)並獲取組1的值。你在使用什麼編程語言/工具?此外,可能會有更好的解決方案(如'Regex.Match(s,@「{([\ w \ s] +):」)。Groups [1] .Value' in C#)。另外,我不知道[你的正則表達式](https://regex101.com/r/p4msBK/1)是如何打印':'兩次的。 –
Wiktor,感謝百萬人的快速回復。這正是我想要的,在這裏工作正常:https://regex101.com/ 但是當我嘗試在Ubuntu命令提示符下它不返回任何東西。我需要在Ubuntu命令行上做任何特殊的事情嗎? 這裏是我的ubuntu命令,從您給出的內容複製而來:egrep'\ {([\ w] +):。*'./a.log –