TCL - 创建一个正则表达式,它将 return 重复字符串中的第一个匹配项
TCL - Create a regexp which will return the first match in a repeating string
我正在尝试创建一个正则表达式来捕获第一次出现的重复字符串。
字符串是"list"个RSA证书,连续。我只对第一个感兴趣。
字符串看起来像:
-----BEGIN CERTIFICATE-----
CERT1..........
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
CERT2............
-----END CERTIFICATE-----
...
...
...
我尝试了以下内容的变体,但返回的是完整列表而不是第一项:
set match [regexp {(-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----$).*} $certs matchAll firstCert]
您需要使用非贪婪 .*?
量词。
set match [regexp {(-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----)} \
$certs matchAll firstCert]
我正在尝试创建一个正则表达式来捕获第一次出现的重复字符串。
字符串是"list"个RSA证书,连续。我只对第一个感兴趣。
字符串看起来像:
-----BEGIN CERTIFICATE-----
CERT1..........
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
CERT2............
-----END CERTIFICATE-----
...
...
...
我尝试了以下内容的变体,但返回的是完整列表而不是第一项:
set match [regexp {(-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----$).*} $certs matchAll firstCert]
您需要使用非贪婪 .*?
量词。
set match [regexp {(-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----)} \
$certs matchAll firstCert]