You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中使用pathAdvancedPattern正则配置DeepLink路径匹配问题

你之前的写法错误在于误用了字符类[]——字符类只能匹配单个字符,里面的|会被当作普通字符处理,而非逻辑或,所以无法匹配ba这类多字符前缀。

要实现匹配a、ba-bc、be-bz(排除bd)的需求,需要使用**分组()**来定义多字符的匹配规则,正确的pathAdvancedPattern写法如下:

<data android:host="@string/deeplink_host"
      android:pathAdvancedPattern="/(a|b[a-c]|b[e-z]).*"
      android:scheme="https"
/>

规则解释:

  • (a|b[a-c]|b[e-z]):通过分组()和逻辑或|定义三组匹配规则:
    • a:匹配单字符前缀a
    • b[a-c]:匹配ba、bb、bc(b后跟a到c的任意字符)
    • b[e-z]:匹配be到bz(b后跟e到z的任意字符)
  • .*:匹配前缀后的任意字符

如果偏好更紧凑的嵌套写法,也可以写成:

android:pathAdvancedPattern="/(a|b([a-c]|[e-z])).*"

两种写法效果一致,都能精准匹配你需要的URL前缀,同时排除bd开头的链接。

内容的提问来源于stack exchange,提问作者Nikhil Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:52:11