我有这样的文字
test=1;toto=2;GSettings.key=value;GSettings.test=42;x=y;GSettings.aaa=bbb
我需要的是使用Regex在分隔符
之后提取字符串需要输出:
key=value
test=42
aaa=bbb
我尝试了什么: 正则表达式
GSettings.[^=]+=[^=;]+
但是GSettings总是包含在匹配模式中
这是Rubular.com上的my test
注意:
我需要一个 RegEx
解决方案,不欢迎任何其他建议,例如使用string.Split
或Linq
答案 0 :(得分:2)
答案 1 :(得分:2)
您正在寻找匹配但不会捕获 GSettings 的Regex Lookbehind语法非常简单。只需使用(?<=MatchButDontCapture)capture+
这应该适合你的情况
(?<=GSettings\.)[^=]+=[^=;]+
您还可以使用Capture Groups进行更高级的匹配。例如
GSettings\.([^=]+)=([^=;]+) //The brackets are used for grouping
组1将保持键,而组2将保持值
答案 2 :(得分:1)