使用正则表达式从字符串获取计算机名称时需要一些帮助。请注意,名称/值对之间也有新行。这是字符串:


  ID = 5656565655,login.user.id = 5453453345,machine.name = ubuntu-1上发生了事件,此处还有更多名称/值对


我正在工作的正则表达式是:

final Matcher m = Pattern.compile("machine.name=(\\.+),")


我之前用的是W而不是DOT,但是它错过了带有数字和破折号的机器名称。进入DOT后,我得到了零匹配。我需要从字符串中提取机器名称的值。有人会帮我吗?

最佳答案

通过在点前放置\,您将要求输入文字点。您可能想要的是逗号之前的所有内容,可以使用

final Matcher m = Pattern.compile("machine\\.name=([^,]+),")


或使用非贪婪修饰符:

final Matcher m = Pattern.compile("machine\\.name=(.+?),")

07-24 09:38
查看更多