如何在以下字符串中使用正则表达式以避免某些特定字符

时间:2014-03-11 18:34:29

标签: regex

"{"key1":val1,"key1":val1,"key3":val3,"key4":val4}"

如何使用正则表达式获取val3而不使用双引号("")。

我希望得到" key3"使用正则表达式,所以我做了类似的事情

'"key3":([^,]+)') 

但是我需要在这个正则表达式中避免使用双引号(""),这会在将此正则表达式定义为字符串时产生问题。

2 个答案:

答案 0 :(得分:1)

我对您的问题并不完全清楚,但我认为您正在询问如何在使用双引号指定的字符串中合并双引号。如果这是你的意思,你可以通过转义它在字符串中使用双引号。您的正则表达式可能是"\"key1\": \([^,]+\)"

对你的问题的另一种可能的解释是完全避免模式中的双引号(事实上,在重读这个现在听起来像你的意图)。这可以通过以下方式完成:".*key3..([^,]+),.*"

答案 1 :(得分:1)

/key3.:([^,]+)/

http://rubular.com/r/XCTRWtQ3im

在上面的正则表达式中,.匹配一个字符,在这种情况下匹配"