我正在使用正则表达式而不是react-router path prop中的字符串将页面路由到404
我所拥有的是以下格式的不同路线的列表:
示例定义
const withdrawRuote = 'user/:userId/withdraw'
const depositRoute = 'user/:userId/deposit'
const groupNewRoute = 'group/new'
const groupWithdrawRoute = 'group/withdraw'
const groupDepositRoute = 'group/deposit'
对于Route1
Route(exact path=myRegex1 render=404)
这是myRegex1
使用上述正则表达式,应通过以下操作:
应该失败
对于Route2
Route(exact path=myRegex2 render=404)
这里是myRegex2。 这些应该通过:
应该失败
我知道我可以使用switch语句处理404,但是我需要知道为什么这不起作用。
我如何使正则表达式知道我需要单词deposit
和withdraw
或user
作为单词,并且考虑到我要排除它们而不是包括它们而不仅仅是一组字符。
答案 0 :(得分:2)
您需要告诉正则表达式引擎,您只想避免在结尾处匹配SELECT (CASE WHEN col1 <= 0 THEN 'Crash' ELSE 'Hold' END) AS Action
FROM vdk
WHERE t_stamp Between "{StartTime}" AND "{EndTime}"
和withdraw
的URL:
deposit
请参见regex demo
匹配后^\/user\/?[0-9]+\/(?!(?:deposit|withdraw)\/?$).*$
^^^^
的否定超前查询将失败(直接在当前位置的右侧):
(?!(?:deposit|withdraw)\/?$)
-两个值(?:deposit|withdraw)
或deposit
withdraw
-一个或零个(可选)\/?
个字符/
-字符串的结尾。