我有多个主机,例如:
我想在intent过滤器的data属性中为主机名编写正则表达式。这看起来像这样:
<data
android:host=".*myhost.*"
android:scheme="http"/>
但它不适合我。似乎android:host不支持正则表达式。有没有办法实现它?
答案 0 :(得分:1)
似乎android:host不支持正则表达式。
正确。
有没有办法实现它?
您可以说您处理http
方案而未指定任何其他方式(例如,没有host
,没有path
)。这将涵盖所有您想要的模式,但它也将涵盖所有其他域名。
或者,由于您可以拥有多个<data>
元素,因此您可以根据需要使用尽可能多的host
个属性来覆盖所有网站,而无需使用正则表达式。
答案 1 :(得分:-1)
如果格式一致,则可以使用split
。它比正则表达式更快。</ p>
给出文字字符串:
string.split(".*")[1]
你可以捕获&#34; myhost&#34;用:string.split("\"")[1]
或者你可以捕获&#34;。* myhost。*&#34;用:{{1}}