Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Regex-problem

Postades av 2004-11-23 18:36:24 - Benni Svensson, i forum regular expressions, Tråden har 2 Kommentarer och lästs av 1330 personer

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 kodem:

private void buttonXP7_Click(object sender, System.EventArgs e)
		{
			string sText ="0";
			try
			{
				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.
<code>
<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">
</code>

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.


Svara

Sv: Regex-problem

Postades av 2004-11-23 23:46:10 - Jimmy Mattsson

Testa kör med det här regexet:
src=\"(?<sida>.*\.htm?)\"

Då får du fram top.htm osv

Vill du bara ha fram top så funkar detta:
src=\"(?<sida>.*)\.htm?\"


Svara

Sv: Regex-problem

Postades av 2004-11-24 17:03:59 - Benni Svensson

Hej Jimmy.
Fungerade kanon:
sText = "src=\"([+\\w]+?)\\.html?\"";

Nu den stora frågan, hur tar jag fram SubMatch i C#?
[REDIGERAT]
Jag har kommit så här långt:

string sText = "src=\"([+\\w]+?)\\.html?\"";
			
			Regex repost = new Regex(sText,RegexOptions.IgnoreCase|RegexOptions.Compiled);
			Match m;
			for(m = repost.Match(rtf.Text);m.Success;m=m.NextMatch())
			{
				
				string nr=m.ToString();
				int sStart = nr.IndexOf(@".")+1;
				string sExct = nr.Substring(sStart,3);
				rtf.SelectedText=Regex.Replace(nr,sExct,"asp");

...men jag gör tydligen fel, ingenting händer i richtextboxen...
[REDIGERAT IGEN]
Nu börjar det hända saker:
<code>
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");
rtf.SelectedText=nyText;
</code>
Och nu fungerar det.

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?

Jag trodde att jag bara hadde småproblem kvar, men icke.


<frame name="main5" src="navigation/left_navig.htm">
tar han inte, alltså galet i sText...
Vad göra?


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
256
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies