我想从下面的文字中获取关键和价值。有[key] value
格式
例如,
[AA] abcd 1234 !@#$ _+{}[]:"
blah blah
[abc-def] this is also value.
[BB]abcd defg
[CC] (can null)
答案 0 :(得分:0)
试试这个
\[(?<key>[^]]+)]\s*(?<value>[^\n]+(?:\n[^[][^\n]+)*)
<强>解释强>
\
:逃脱一个特殊字符sample
( … )
:捕获小组sample
?
:一次或无sample
[^x]
:一个不是x sample的字符
+
:一个或多个sample
\s
:“空格字符”:空格,制表符,换行符,回车符,垂直制表符sample
*
:零次或多次sample
(?: … )
:非捕获组sample
答案 1 :(得分:0)
容易!
^\[([^]]+)\](.+)$
演示: https://regex101.com/r/zB0xC0/1
^\[([^]]+)\]
:^
是字符串的开头。 ()
是一个捕获组。 [^]]+
是]
以外的任何字符中的一个或多个。(.+)$
:$
是字符串锚点的结尾。所以基本上它与键后面的其余字符串匹配。答案 2 :(得分:0)