我遇到了一个我不完全理解的正则表达式 - 有人可以帮我解释它:
^home(?:\/|\/index\.asp)?(?:\?.+)?$
Run Code Online (Sandbox Code Playgroud)
它用于url匹配,上面的示例匹配以下url:
home
home/
home/?a
home/?a=1
home/index.asp
home/index.asp?a
home/index.asp?a=1
Run Code Online (Sandbox Code Playgroud)
在我看来,括号内的问号(?:没有做任何事情.有人可以启发我.
正在使用的正则表达式版本是Classic ASP提供的版本,如果有帮助的话,它正在服务器上运行.
我必须在触发管道之前验证它。验证的标准之一是 CI/CD 变量是否具有可接受的值之一。有没有办法确定它是否匹配正确的值?
我尝试创建一个值数组,然后在工作流规则中检查它,但从其他问题中不清楚如何做到这一点。
所以它应该看起来像这样:
#WARNING: invalid yml!
variables:
ValidValues: ["Value1", "Value2", "SomeOtherValue"]
workflow:
rules:
- if: ValidValues contains $GivenValue
when: always
Run Code Online (Sandbox Code Playgroud)