在使用reg ex从字符串中获取机器名称方面需要一些帮助。请注意,在名称/值对之间也有新行。这是字符串:
事件发生在id=5656565655,login.user.id=5453453345,machine.name=ubuntu-1,更多名称-值对在这里
我认为正在使用的正则表达式是:
final Matcher m = Pattern.compile("machine.name=(\.+),")
我以前有一个W而不是DOT,但这错过了带有数字和破折号的机器名称。一旦我去了交通部,我就没有得到任何匹配。我需要从字符串中提取机器名称的值。有人能帮我吗?
在点前面放一个,就是在要求一个字面意义上的点。你可能想要的是逗号以下的一切,这可以用完成
final Matcher m = Pattern.compile("machine\.name=([^,]+),")
或者使用非贪婪修饰符:
final Matcher m = Pattern.compile("machine\.name=(.+?),")
"machine\.name=([^,]+),"
这意味着所有非昏迷角色。
一如既往,有很多解决方案。这只是其中之一。