【问题标题】:Java Regex and jsonJava 正则表达式和 json
【发布时间】:2015-03-31 19:11:06
【问题描述】:

我有以下正则表达式来验证我的程序中的名称字段,它工作正常

^[a-zA-Z\\d\\s_.@\\-]*$

{"name":"jfhgjhf"}

我现在想添加一个嵌入的 json 元素,我将其作为我的 json 的一部分传入(我正在使用模式表单) 我希望我的 taskDetails 元素接受与名称相同的字符以及字符 {[/:="

我没有高兴地尝试了以下正则表达式

^[a-zA-Z\\d\\s_.@\\-{\\]\\[}/\\\\/\\/ ':=]*$

{"name":"jfhgjhf","taskDetails":"{\"ids\":[{\"id\":\"jhgjghjghfjf\"}]}"}

对此的任何帮助将不胜感激

谢谢 达米安

【问题讨论】:

  • 你为什么不使用JSON parser?
  • 在这个项目中不可能或没有意义。我想将 json 存储在我的 db 表中的 1 个字段中。这对我的项目以及我如何使用模式表单很有意义

标签: java regex json


【解决方案1】:

这样就可以了

^[a-zA-Z\d\s_.@{\\}\/ ':=",\[\]-]*$

- 必须是最终字符,因为它可以识别例如a-z

http://regexr.com/

【讨论】:

  • @FlorianLefèvre . 不需要转义(它在字符类中没有特殊含义)。 - 不需要像 OP 提到的那样在字符类的开头或结尾进行转义,因为 [-x] 和 [x-] 显然不是范围。
  • 你是对的,在字符类.没有什么特殊意义...今天学到了一些东西! :) 谢谢。
猜你喜欢
  • 2015-12-29
  • 2015-12-22
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
  • 2013-01-18
  • 2012-01-16
相关资源
最近更新 更多