需要帮助以匹配Lookbehind中的完整消息。
让我说以下简化字符串:
1 hostname Here is some Text
在一开始,我可能会有1或2位数字,后跟空格,我会忽略它们。 那么我需要将第一个单词捕获为“主机” 然后我想回溯到第一个空格,以便捕获组“消息”使所有内容都从前两个数字和空格开始。即“主机名,这里是一些文字”
我的正则表达式是:
^[1-9]\d{0,2}\s(?<host>[\w][\w\d\.@-]*)\s(?<message>(?<=\s).*$)
这给了我
host =“主机名” message =“这里有一些文字”
我不知道我的身后需要什么样。
感谢您的帮助。
答案 0 :(得分:0)
好的,我找到了。需要做的是将消息放在第一个组中,并将所有其他消息(包括消息组中的其他组)放在第一个组中
^[1-9]\d{0,2}\s(?<message>(?<host>[\w][\w\d\.@-]*)\s.*$)