小编San*_*har的帖子

重构正则表达式以进行地址验证

我的角度应用程序中有以下用于邮政地址验证的正则表达式。

const regx = '\\b([p]*(ost)*\\.*\\s*[o|0]*(ffice)*\\.*\\s*b[o|0]x)\\b'

我只想让这个正则表达式通过

比赛名单:

  1. 邮政信箱
  2. 邮政信箱
  3. 邮局信箱
  4. 邮政信箱街1234号
  5. 123邮政信箱

但它也匹配

不匹配列表:

  1. 盒子
  2. 盒子
  3. 可怜的盒子

ETC。,

如何收紧此正则表达式,使其与“不匹配列表”不匹配?另外,我希望我的正则表达式能够针对邮政信箱或邮局箱等进行升级。有任何输入吗?

regex angular

4
推荐指数
1
解决办法
142
查看次数

如何避免Jackson在Java中转义双引号?

我正在做一个项目,想使用 ObjectMapper 将一些用 Gson 编写的代码重写为 Jackson。所以我试图使用一些属性创建一个 JSON 字符串,如下所示:

ObjectMapper objectMapper = new ObjectMapper();
ObjectNode objNode= objectMapper.createObjectNode();
objNode.put("identifierVal", UUID.randomUUID().toString());
objNode.put("version", "two");
List<String> namesList= new ArrayList<>();
namesList.add("test");
objNode.put("namesList", namesList.toString());
String requestObject = objectMapper.writeValueAsString(objNode.toString());
Run Code Online (Sandbox Code Playgroud)

预期结果:

{
   "identifierVal":1234,
   "version":"two",
   "namesList":[
      "test"
   ]
}
Run Code Online (Sandbox Code Playgroud)

实际的:

"{  
        "\identifierVal\": 1234,   
        "\version\":"\two\",
"\namesList\": ["\test\"]

    }"
Run Code Online (Sandbox Code Playgroud)

因此,一旦我使用 Jackson 创建了一个 JSON 字符串,事实证明它会转义字段名称和值的双引号,并\在前导和尾随空格处添加一个。所以服务调用由于逃逸而失败。

我已经阅读了一些文档,我可以理解 Jackson 正在转义双引号。但是有没有办法避免转义双引号并添加前导和尾随双引号。

任何帮助表示赞赏。顺便说一句,我按照以下链接操作:

为什么 ObjectNode 在 Json 字符串中添加反斜杠

Jackson 在 json 中添加反斜杠

java json jackson gson

0
推荐指数
1
解决办法
628
查看次数

标签 统计

angular ×1

gson ×1

jackson ×1

java ×1

json ×1

regex ×1