我有一个用于解析由等号分隔的键/值对的正则表达式。在' ='之前和之后可能会有一些空白字符,但键和值应该没有它们。例如
key=value
key = value
必须返回相同的结果:' key'和'价值',而不是'关键'和'值'
我在解析值时遇到一些问题,因为它可能是空的并且没问题。
key=
这是我的正则表达式版本,没有修剪值为https://regex101.com/r/pY9rW8/2
的空格答案 0 :(得分:3)
您可以考虑没有正则表达式的变体:
string s = "key=value";
var a = s.Split('=');
var key = a[0].Trim();
var val = a[1].Trim();
答案 1 :(得分:1)
答案 2 :(得分:0)
您还可以在键和值上使用命名组,并丢弃空格:
答案 3 :(得分:0)
你给了这个正则表达式:
col1 col2
0 a a string
1 b a very long string
2 c another string
考虑^\s*([^#]\S+?)\s*=(.*)
后,这不会占用空格。为此,请添加另一个=
:
\s*
此外,您可能希望匹配字符串的结尾,看到您通过^\s*([^#]\S+?)\s*=\s*(.*)
匹配开头,所以最后添加^
:
$
这是一个实例: