使用正则表达式从字符串获取计算机名称时需要一些帮助。请注意,名称/值对之间也有新行。这是字符串:
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=(.+?),")