4

我正在向我的 android 应用程序添加一个意图过滤器,我希望它能够捕捉到http://www.somedomain.com/[numericValue]的请求。如果路径是数字,我只想抓住它,但如果它有文本,我不在乎。

我尝试了 [0123456789]* 的 pathPattern,但没有奏效。这可能吗?

4

2 回答 2

2

pathPattern不是完整的正则表达式。相反,它使用“简单 glob”,其中*表示前一个字符的零个或多个 - 在您的情况下,零个或多个]字符。

在我的脑海中,我看不出如何将所需的模式转换为可以轻松匹配“简单 glob”的东西。

于 2010-09-03T21:00:25.047 回答
0

我已经测试了 KTibow 样本,但它不起作用。

但是破解它的一种方法是可以添加多个数据元素并像这样解决它,所以你可以得到所有以数值开头的案例。它并不完美,但似乎是基于文档的唯一选择,并且似乎无法执行 /0*1* 之类的操作,因为由于某种原因,它在测试时仅匹配 /1 和 /01。

 <data
    android:host="example.com"
    android:pathPattern="/0.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/1.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/2.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/3.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/4.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/5.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/6.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/7.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/8.*"
    android:scheme="https" />
<data
    android:host="example.com"
    android:pathPattern="/9.*"
    android:scheme="https" />
于 2021-03-19T10:28:27.867 回答