繁体   English   中英

如何在 Swagger 中编写此正则表达式模式?

[英]How to write this regex pattern in Swagger?

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

 *       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字符串是否需要以某种方式转义?

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

你必须使用前面的反斜杠来逃避内部引号,如\\“。

您需要按照以下模式编写它:

 pattern: ^([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_\-\+\/=]+)$

如果我以你为例,你应该从你的正则表达式中删除"

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

提示:使用在线正则表达式构建/测试之一 -> https://regex101.com/ (我的最爱)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM