需要使用java正则表达式获得特定的单词



我想在java中使用正则表达式获得一个特定的单词。由于

在下面的段落中,我需要找到网络接口名称
resource "azurerm_network_interface" "nic_LinuxVMCent-nhi" {
name = "nic_LinuxVMCent-nhi"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
ip_configuration {
name = "pubIP_LinuxVMCent-nhi"
subnet_id = azurerm_subnet.sub_wind12VM-PtN.id
private_ip_address_allocation = "Dynamic"
public_ip_address_id = azurerm_public_ip.pubIP_LinuxVMCent-nhi.id
}
}
data "azurerm_snapshot" "snapLinuxVMCent-nhi" {
name = "CentOS76New-0"
resource_group_name = "SaaSworkloadsnaps"
}

预期结果Ex:

nic_LinuxVMCent-nhi

这是一个多行文本位。然而,似乎有一行你可以用正则表达式识别:

resource "azurerm_network_interface" "nic_LinuxVMCent-nhi" {

对应的正则表达式是^resource "azurerm_network_interface" "([^"]+)" {$-参见https://regexr.com/67ldb

您可以使用Matcher.match来查看是否有任何行与此表达式匹配,如果匹配,则matcher.group(1)将是您正在寻找的值。

您可以使用此正则表达式查找网络接口名称:

(?<=resource "azurerm_network_interface" ").+(?=" {)

我已经使用向前看来查找名称。此外,这里有一个链接到regex101:链接

我不懂网络接口,这个正则表达式解决方案特定于"azurerm_network_interface."如果您需要任何其他帮助,请在下方评论。欢呼:)

相关内容

  • 没有找到相关文章

最新更新