在java(android)中使用RegExp来防止其他url除外

ezc*_*odr 0 java regex android webview

我正在创建一个使用webview的应用程序.我只想将我的网站域名页面加载到我的应用程序(webview)中.

如果从我的应用程序中单击某个其他域,则应该要求在其他应用程序(浏览器)中打开.在第一次打击时,我做了以下以防止其他域名 -

@Override
public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
                /* url=http://mywebsite.com */
                if(!urlNewString.contains(url)){

                    view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(urlNewString)));
                    return true;
                }
Run Code Online (Sandbox Code Playgroud)

但问题是它还将在浏览器中打开http://blogs.mywebsite.com和所有其他子域,而不是在我的应用程序的webview中.任何人都可以建议我正则表达式来做必要的事情.谢谢.

Win*_*ute 5

您可以使用java.net.URL该类拆分相关信息,例如:

java.net.URL url = new java.net.URL("http://blogs.mywebsite.com/foo/bar/baz.html");

boolean on_my_http_site = url.getProtocol().equals("http") && 
                         (url.getHost().equals("mywebsite.com") ||
                          url.getHost().endsWith(".mywebsite.com"));
Run Code Online (Sandbox Code Playgroud)