正则表达式匹配括号、连字符和空格

时间:2021-01-29 18:07:29

标签: regex pcre

我正在尝试为任何包含括号、连字符和空格的内容编写 REGEX。

我的字符串看起来像

cs1=

我的目标是在 ^(?:[^>\n]*>){2}\w+\s+\w+\d+\=(?P<cs_details>\w+[ -]) 之后得到任何东西,直到 msg 字段。我有 tried the regex,但无法进一步:

AMNYPARU535A-FL37-VIP ROLE mobile
APTOKARU535A-VIP ROLE mobile
EUPARARU535A [10.2.32.198]-VIP ROLE registration

我需要从上面的正则表达式中匹配的字段:

volumeMounts

1 个答案:

答案 0 :(得分:0)

你可以使用

^(?:[^>\n]*>){2}\w+\s+\w+\d+=(?P<cs_details>.*?)(?=\s*\w+=|$)

参见regex demo

= 字符并不特殊,您无需对其进行转义。

(?P<cs_details>.*?)(?=\s*\w+=|$) 部分匹配除换行符以外的任何零个或多个字符,尽可能少地使用 .*?(将此值捕获到 cs_details 组中),其后紧跟零个或多个空格,然后是一个或多个字符字符,然后是 =,或者在字符串的末尾。