正则表达式在没有 space 的情况下提取第 5 和第 6 个冒号之间的字符串
regex to extract a string between 5th and 6th colon without space
我正在使用正则表达式提取第 5 和第 6 个字符串之间的字符串。我需要在没有 space 的情况下提取它,因为 space 在冒号之间。下面是我必须从中提取的示例
Abc Cloud : Xyz : Windows : Non Prod : Silver : ATC123XYZ : AQW Service is Down
我试过 : (.+?):
但是它 returns : Xyz :,: Non Prod : and : ATC123XYZ :.我要的只是ATC123XYZ
你可以试试:
^(?:[^:]+\s*:\s*){5}([^:\s]+)
解释:
^ from the start of the input
(?: match (but don't capture)
[^:]+\s*:\s* any term followed by :
){5} match exactly 5 of these
([^:\s]+) then match AND capture the 6th term
您需要的术语将在第一个捕获组中可用。
我正在使用正则表达式提取第 5 和第 6 个字符串之间的字符串。我需要在没有 space 的情况下提取它,因为 space 在冒号之间。下面是我必须从中提取的示例
Abc Cloud : Xyz : Windows : Non Prod : Silver : ATC123XYZ : AQW Service is Down
我试过 : (.+?):
但是它 returns : Xyz :,: Non Prod : and : ATC123XYZ :.我要的只是ATC123XYZ
你可以试试:
^(?:[^:]+\s*:\s*){5}([^:\s]+)
解释:
^ from the start of the input
(?: match (but don't capture)
[^:]+\s*:\s* any term followed by :
){5} match exactly 5 of these
([^:\s]+) then match AND capture the 6th term
您需要的术语将在第一个捕获组中可用。