In most regex engines, * means "zero or more of the previous character". But in PathPattern , the * acts like a greedy wildcard that matches any sequence of characters .
Matches:
Here is the deep dive into how pathPattern actually works, and the traps that catch 90% of developers. android pathpattern
<data android:pathPrefix="/blog" />
: This is the most commonly used sequence. It matches any sequence of zero to many characters. Because the dot acts as a wildcard for any character, .* effectively means "anything." Crucial Escaping Rules In most regex engines, * means "zero or
Matches:
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="myapp.com" android:pathPattern="/articles/*/detail" /> </intent-filter> <data android:pathPrefix="/blog" /> : This is the most
You cannot use [0-9] , \d , + , ? , etc. The pattern language is intentionally minimal.