首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测Url是BookMark格式

如何检测Url是BookMark格式
EN

Stack Overflow用户
提问于 2014-06-27 05:30:27
回答 1查看 171关注 0票数 0

帮助

我要打开新窗口中的url,在当前Webbrowser中打开bookmarkformt url。

我有一个简单的方法来检测书签格式url。

file:///D:/Administrator/Desktop/123.htm#222

包含.htm#或.htm#的

这是正确的书签格式url。

//书签名称为222 file:///D:/Administrator/Desktop/123.htm#222 //书签名为##abc file:///D:/Administrator/Desktop/123.htm###abc //书签名称为//..htm#.htm#abc#.html#// file:///D:/Administrator/Desktop/123.htm#//.HTM##.htm#abc#.html##//

如何检测网址是BookMark格式?RegularExpressions可以解决这个问题,我能不能写一个当前的正则表达式?

这是我的解决方案,但需要检测url是书签格式。

代码语言:javascript
复制
string htmFilename = @"D:\Administrator\Desktop\123.htm";
private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.StatusTextChanged += new EventHandler(webBrowser1_StatusTextChanged);
    webBrowser1.Navigate(htmFilename);
    navigated = true;
}


private void webBrowser1_StatusTextChanged(object sender, EventArgs e)
{
    textBox1.Text = webBrowser1.StatusText;
}

//webBrowser1  Navigating the first time not open in new window
bool navigated = false;
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    //first time nagivate 
    if (navigated == true)
    {
        //  url is not bookmark format 
        // open in new window
        if (e.Url.ToString().Contains(".htm#") == false)
        {
            e.Cancel = true;
            //webBrowser1.Navigate(e.Url, true);

            //Process.Start is bettor then webBrowser1.Navigate(e.Url, true);
            //Because when url is directory link such as "file:///C:/"
            //webbrowser will open a blank window and then open the Directory
            
            System.Diagnostics.Process.Start(e.Url.ToString());
        }
    }
    textBox2.Text = e.Url.ToString();
}
EN

回答 1

Stack Overflow用户

发布于 2014-06-27 05:35:41

下面的regex将匹配正确的书签格式,

代码语言:javascript
复制
file:\/\/\/[^\.]*\.(?:htm|html)#+.*

演示

代码语言:javascript
复制
file:\/\/\/D:\/Administrator\/Desktop\/123\.htm#.*

演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24444555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档