我已將 @Pattern 注釋添加到我的休息控制器(SpringBoot Kotlin)中的查詢引數。我希望模式中的正則運算式接受 -
optionA 或 optionB 或 null(無/空字串)
以下作品,但當然不包括空選項 -
@Pattern(regexp = "(?i)optionA||(?i)optionB")
這不起作用 -
@Pattern(regexp = "(?i)optionA||(?i)optionB||^\\s*\$")
有人可以幫我嗎?:) 謝謝!
uj5u.com熱心網友回復:
在@Pattern注解里面,模式是用來匹配整個字串的,所以可以使用
@Pattern(regexp = "(?i)(?:optionA)?")
這實際上是\A(?i)(?:optionA)?\z:
\A- 字串開頭(此處為隱式)(?i)- 不區分大小寫的嵌入標志選項(?:optionA)?optionA- 匹配或空字串的可選非捕獲組\z- 字串結尾(此處為隱式)。
是null記憶體地址,不是字串,它不能與正則運算式匹配,因為正則運算式只處理字串。
uj5u.com熱心網友回復:
我在https://regex101.com/上嘗試了這個 optionA|optionB|^\s$并且效果很好。您可以嘗試在您的應用程式上進行檢查嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/429175.html
下一篇:驗證時嵌套的Joi
