【问题标题】:Regular expression in Java to match a String containing + characterJava中的正则表达式匹配包含+字符的字符串
【发布时间】:2022-11-22 19:40:45
【问题描述】:

我正在使用 javax 验证模式来验证排序参数。此参数的值必须是:+id 或 +originId for asc,-id 或 -originId for desc。无法修改此参数的语法。

@Valid @Pattern(regexp= SORT_REGEXP, message = SORT + NOT_VALID)
@RequestParam(name = SORT, required = false) String sort,

这是我的正则表达式:

^[+-]id$|^[+-]originId$

我也试过转义 +

^[\\+-]id$|^[\\+-]originId$

如果我使用 -id 或 -originId,它已经过验证,但是当我使用 + 时,它表示与模式不匹配。有什么帮助吗?谢谢!

【问题讨论】:

    标签: java regex


    【解决方案1】:

    可以通过指定匹配之外的边界并使用组来简化您的模式。

    ^[+-](id|originId)$
    

    【讨论】:

      猜你喜欢
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      相关资源
      最近更新 更多