我试图根据下面两个字符串提取字符串。我应该能够匹配一个可用的文本。 输入字符串为:
//management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.DBforPostgreSQL/servers/serverName/databases/databaseName?api-version=2017-12-01
//management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.DBforPostgreSQL/servers/serverName?api-version=2017-12-01
基于任何可用的字符串(从上面的2个),我应该能够提取Microsoft.DBforPostgreSQL/servers/serverName/databases
(从第一个字符串)或Microsoft.DBforPostgreSQL/servers
(从第二个字符串)
输入字符串不按输入顺序排列
编辑: 输入字符串也可以类似于:
//management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/apis/sql/databases/databaseName?api-version=2015-04-08
在上面的示例字符串中,我需要提取“Microsoft.DocumentDB/databaseAccounts/accountName/API/sql/databases”
我试过这个:(Microsoft.[a-zA-Z]+\/[a-zA-Z]+)|(Microsoft.[a-zA-Z]+\/[a-zA-Z]+\/[a-zA-Z]+\/[a-zA-Z]+)
但它不起作用
这是您想要的正则表达式:
你可以试试这个正则表达式
https://regex101.com/r/z0hGRa/1
相关问题 更多 >
编程相关推荐