首页 > 解决方案 > 如何在 Swagger 中编写这个正则表达式模式?

问题描述

如何pattern使用 Swagger Node.js 注释正确定义以下正则表达式?

 *       reviews_ratings_description:
 *         type: string
 *         minimum: 10
 *         maximum: 50
 *         pattern: "^[ a-zA-Z0-9](?!,.*?[^\na-zA-Z0-9!”$%&~^&#<>.?:"'’=@()*\+,\/;\[\\\]\-^_`{|}~]{1}).*?[a-zA-Z0-9!”$%&~^&#<>.?:"'’=@()*\+,\/;\\\\]\-^_`{|}~]$"    

运行上面的代码会产生以下错误:

{"error":{},"level":"error","message":"uncaughtException: YAMLException: can not read an implicit mapping pair; a colon is missed at line 42, column 159:\n     ... \"'’=@()*\\+,\\/;\\[\\\\\\]\\-^_`{|}~]$'\n

字符串是否pattern需要以某种方式转义?

标签: node.jsyamlswagger

解决方案


您的模式包含“,这是行不通的。

您必须在前面使用反斜杠(如 \")来转义内部引号。


推荐阅读