首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于以下错误而无法验证架构:[不匹配格式'regex']

由于以下错误而无法验证架构:[不匹配格式'regex']
EN

Stack Overflow用户
提问于 2022-08-18 16:28:37
回答 2查看 33关注 0票数 -2

我正在尝试向AWS EventBridge提交一个JSON (草案-04),但是我的pattern值出现了一个错误,即:

代码语言:javascript
复制
pattern: "^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\x{00a1}-\x{ffff}][a-z0-9\x{00a1}-\x{ffff}_-]{0,62})?[a-z0-9\x{00a1}-\x{ffff}]\.)+(?:[a-z\x{00a1}-\x{ffff}]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$%iuS"

(我从已建立的regex模式中获取字符串值,以验证URL的- https://gist.github.com/dperini/729294 )

当我尝试提交这个文件时,我从EventBridge中得到一个错误

代码语言:javascript
复制
Failed to validate schema due to following error(s): [Does not match format 'regex']

我尝试用双反斜杠(\)替换所有反斜杠(\\),并尝试用\u替换\x。我还是会犯同样的错误。有人能帮忙吗?

EN

回答 2

Stack Overflow用户

发布于 2022-08-18 17:18:15

你尝试过的都会成功的。我猜你错过了一个需要成为\\\

下面是您尝试过的步骤,regex成功地为我编译了。

代码语言:javascript
复制
"pattern": "^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$%iuS"
票数 1
EN

Stack Overflow用户

发布于 2022-08-22 07:54:34

我已经解决了其中的一些问题,但我认为用这种方法解决这个问题需要花费我很多时间。我将使用另一种方法,而根本不使用pattern关键字。我学到的是:

  • 负面的外观不被JSON所接受(或者确切地说不是JSON草案04 )。如果我们想使用regex排除模式,我们需要使用"not“关键字
  • 看来引用unicode字符的方法是不可接受的。它应该是[a-z\\u00a1-\\uffff],而不是[a-z\x{00a1}-\x{ffff}] ( @Jason的信用) u00a1-uffff告诉regex包含所有unicode字符 (从倒排感叹号“”及以后)。我在https://regex101.com/r/mV0iS3/1上进行了测试,发现\x表示法被拒绝了。使用花括号尝试\u{xxxx}也会被拒绝。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73406552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档