2 回答
TA贡献1993条经验 获得超6个赞
您可以使用此正则表达式,它使用交替来确保基本路径后跟或或行尾./$
\/api\/ping(?=\.|\/|$)\S*
解释:
\/api\/ping- 按字面意思匹配文本/api/ping(?=\.|\/|$)- 向前看,确保下面的内容是文字点或斜杠或行尾./$\S*- 可选择跟随路径后面的任何非空格字符
在正则表达式中,字符集的使用是不正确的,您不需要转义点,并且在字符集中不需要交替,并且不能通过放置在字符类中来完成,并且由于字符类看起来嵌套,因此它不是必需的,也不是正确的做法。我猜你想让你的正则表达式像这样,/api/ping[[\.|\/].*]?[].||
\/api\/ping([.\/].*)?$
请注意,一旦您放入任何内容,那么它只被计为一个字符,允许字符集中包含的所有内容,因此它允许点或斜杠,并注意您需要转义为[].//\/
TA贡献1946条经验 获得超3个赞
您的模式使用一个字符类,该字符类将与列出的任何字符类匹配,也可以将其编写为 .[[./|]
它不匹配,因为字符类必须至少匹配 1 次,因为它不是可选的。/api/ping
您可以使用交替来匹配,然后断言字符串的结尾,或者通过重复 0 次或更多次匹配正斜杠,然后不是正斜杠,然后是点和 1+ 次,然后是点和扩展来匹配结构。/api/ping|
/api/ping(?:(?:/[^/\s]+)*\.\S+|$)
这将匹配
/api/ping按字面意思匹配(?:非捕获组(?:/[^/\s]+)*重复分组结构 0+ 次匹配,然后 1+ 次不匹配或空白字符//\.\S+匹配一个点和 1 倍以上的非空格字符|或$断言字符串的结尾)关闭非捕获组
- 2 回答
- 0 关注
- 343 浏览
添加回答
举报
