我在json请求中有一个姓氏,我需要为json构建模式。
我的架构为
"lastName": {
"type": "string",
"required": true,
"pattern":"^[a-zA-Z0-9'. ]{1,40}$"
}
但我们有缺点说姓氏可以如下。
姓氏:撇号,连字符,句号(O'Rourke; Smith-Jones; St. Pierre)。
修正了撇号,句号和空格,但不知道如何输入连字符。 请让我知道如何解决这个问题。
答案 0 :(得分:1)
连字符可以放在列表的末尾,这清楚表明它不是字符范围:
[.....-]
注意:我不会在名字的开头接受特殊字符。
答案 1 :(得分:0)
使用反斜杠将其转义(然后可将其放在正则表达式中的任何位置):
^[\-a-zA-Z0-9'. ]
或将其放在最后(不能将其错误地解析为范围分隔符):
^[a-zA-Z0-9'. -]