我有问题匹配以下url与Cypress intercept()使用正则表达式。我做错了什么?
cy.intercept('GET', /https://mysite.me.com/pages/[^/]+[0-9](?=/$|$)/, { fixture: 'pages.json' }).as('getPage');
匹配的url:
- https://mysite.me.com/pages/1
- https://mysite.me.com/pages/804
- https://mysite.me.com/pages/134568
匹配的url:
- https://mysite.me.com/pages/?something=something
- https://mysite.me.com/pages/1234/something
- https://mysite.me.com/pages/something
我最终希望将正则表达式与env变量一起使用,但首先要做的是。
cy.intercept('GET', `${Cypress.env('API_PATH')}/pages/[^/]+[0-9](?=/$|$)/`, { fixture: 'pages.json' }).as('getPages');
这个正则表达式看起来没有必要复杂,试着把它简化成这样:
//pages/[0-9]+[/]?$/
:
/pages/1234
:
/pages/1234/
[^/]
您不需要,因为
/
在字符类中具有不同的含义。
(?=/$|$)
好的,所以最后的/
是可选的。这是更可读的:[/]?
,甚至/?
。
我认为你不需要像在模式中提到基础url那样明确。