正则表达式:使用单个正则表达式匹配多个字符串

2024-05-18 08:19:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图根据下面两个字符串提取字符串。我应该能够匹配一个可用的文本。 输入字符串为:

  1. //management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.DBforPostgreSQL/servers/serverName/databases/databaseName?api-version=2017-12-01
  2. //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(从第二个字符串)

输入字符串不按输入顺序排列

编辑: 输入字符串也可以类似于:

  1. //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]+)但它不起作用


Tags: 字符串comsubscriptionsazuremanagementdatabasemicrosoftservers