---
title: "RegEx problem i C#"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/116538-regex-problem-i-c"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2004-11-23T17:42:28.000Z"
updated: "2004-11-24T18:30:37.000Z"
replies: 2
views: 295
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/116538-regex-problem-i-c"
---

# RegEx problem i C#

## #1 — saw, 2004-11-23T17:42Z

Har dragit igång ett gammalt project, och springer på problem med en gång. 
Det är tänkbart att jag är helt ute och cyklar, en så här är kode: 

```
private void buttonXP7_Click(object sender, System.EventArgs e)
        {
            string sText ="0";
            try
            {
                string sText = "src=\"([+\\w ]+?)\\.html?\"";
                Regex repost = new Regex(sText,RegexOptions.IgnoreCase|RegexOptions.Compiled);
                
                Match m; 
                string nr="";
                for(m = repost.Match(richTextBox1.Text);m.Success;m=m.NextMatch())
                {                            
                    if(m.Success)
                    {
                        nr=m.ToString();                        
                        MessageBox.Show(nr);
                    }
                    else
                    {
                        MessageBox.Show("Kan inte hitta någonting");
                    }
                }
            }
            catch(Exception fel)
            {
                MessageBox.Show(fel.Message,"buttonXP7_Click");;
            }
            MessageBox.Show(sText.ToString());
        }
```

 

Problemet: 
I en richtextbox, så läses det in olika  HTML-filer bl a med frameset. 

```
<frame name="main3" src="top.htm" scrolling="no" marginwidth="0" marginheight="0" target="_self" noresize>

      <frame name="main4" src="loggar.htm">

      <frameset cols="3,10">
        <frame name="main5" src="navigation/left_navig.htm">

        <frame name="main2" src="main.htm" scrolling="auto" marginwidth="0" marginheight="0" target="_self">
      </frameset>
      <frame name="main6" src="fot.htm">
```

 
Som det är nu, så hittar den t ex 
src="top.htm"
src="loggar.htm" osv
Men jag ville ha
top.htm
loggar.htm

Först så gäller det att hitta dem, sedan (har inte gjort den koden) så skall exstension ändras till asp. 

Jag vore tacksam för hjälp här.
 :r

Permalänk: https://www.webforum.nu/p/116538

## #2 — Jesper T, 2004-11-24T08:18Z

Kan du inte replaca bort (src=) och (") i ditt resultat då?

Permalänk: https://www.webforum.nu/p/1491673

## #3 — saw, 2004-11-24T18:30Z

Nej det blir galet.
Jag har komit hit:
sText = "src=\\"(\[+\\\\w\]+?)\\\\.html?\\""; 

Nu den stora frågan, hur tar jag fram SubMatch i C#? :q
\[REDIGERAT\]
Jo det börja att lyckas för mig:

```
string nr=m.ToString();
int sStart = nr.IndexOf(@".")+1;
string sExct = nr.Substring(sStart,3);
rtf.Select(m.Index,m.Length);
string nyText=Regex.Replace(m.ToString(),sExct,"asp");
tf.SelectedText=nyText;
```

Hursomhelst, koden är inte riktigt bra, om vi antar att den länken som skall byttas ut heter: 
index.htm så fungerar det bra. 
Heten den därimot html, shtm så fungerar det inte alls. Hur bör jag göra?

Lyckan är inte helt med mig, denna bit

        \<frame name="main5" src="navigation/left_navig.htm"\>
tar han inte, alltså galet i sText...

Permalänk: https://www.webforum.nu/p/1492013

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/116538-regex-problem-i-c
