RegExp:键值对与{和}或引号括起来的值列表

时间:2016-07-12 14:50:44

标签: java regex

我正在寻找一个能够捕获以下内容的正则表达式:

  1. 键=值
  2. key =“some \”value \“escapeped”
  3. 键= {值1,值}
  4. 键/值对将以字符串连接,因此:

    key,key1=value1,key2={foo,bar},key3="some description for \"foo\"",...
    

    目前,我有以下内容:

    (\w+)|((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\\{\}]+)*)
    

    它捕获(1),(2)和(3)但不捕获(4)。

    正则表达式将使用Java进行解析。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你可以使用这个冗长的正则表达式:

void doDBStuff(){
  try {
    performStatement(someStatement);
  } catch(SQLException e){
    //invalid SQL syntax, something is broken
  } catch(AuthenticationException e){
    //invalid user credentials for the db, inform the user to change these values
  }

RegEx Demo