regex:获取键值对格式的值

时间:2019-01-17 18:48:21

标签: regex

我有以下字符串:

"
key1: fkdfjdkfkdfjkdfkjdkfjdfkjdfkdjfkdjfkdfjkdfdkfjkdf
key2: dskfjdfjdkfkjdfkdjfkdfjdfkdfkdkjfkdfjkdf
key3: sdfsdfasdfadfs
asdfadsfsdfasdfadsfdf
key4: sdfjdsfhhdjfhsdjfsdfh
skdfjdsjkfjds
"

什么是仅捕获键值的有效正则表达式?

1 个答案:

答案 0 :(得分:2)

以下正则表达式可以解决您的问题,前提是您使用的是PCRE引擎:

/(?:key\d+: )(.*?)(?=\nkey\d:|$)/gs

Try it here

说明:

  • (?: key \ d +:)-匹配密钥。
  • (。*?)-捕获值。
  • (?= \ nkey \ d:| $)-找到下一个键或字符串结尾时,将停止捕获值。
  • gs 标志-全局标志启用多个捕获,单行标志启用点运算符以匹配值中的新行。