webForumDet fria alternativet

Hitta allt som inte är inom <>, Regexp

.NET

8 svar · 349 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Frågan#1

Hej!

Jag har problem med ett regexp.

Jag vill hitta allt som inte ligger inom <>-taggar.

Exempelvis:

denna texten är <a href="http://www.test.com">demo</a>-text. Det jag vill matcha är därmed (match i bold)

denna texten är <a href="http://www.test.com">demo</a>-text.

Några tips?

Medlem sedan sep. 20011 914 inlägg
#2
string s = "denna texten är <a href=\"http://www.test.com\">demo</a>-text. Det jag vill matcha är därmed";

Regex r = new Regex("<.*?>",RegexOptions.Singleline);
string result = r.Replace(s,"");
Response.Write(result);
Medlem sedan juni 2004533 inlägg
#3

Ifall du vill göra mer än bara ta bort taggarna så får du göra ett mönster som matchar taggarna, göra en matchning och loopa igenom resultatet för att se var i strängen texterna ligger som inte är i taggarna.

Här är en artikel om hur du loopar igenom ett sökresultat:
http://www.aspsidan.se/default.asp?page=readArticle&menu=2&aId=148

Medlem sedan dec. 19995 874 inlägg
#4

Det ni visar letar efter det som är inom <>-taggar. Jag vill ha det precis tvärtom :)

Medlem sedan juni 2004533 inlägg
#5

Genom att du vet var taggarna finns så vet du ju också var texten som ligger utanför taggarna finns.

Ifall det ens är möjligt att skriva ett regular expression som matchar texten utanför taggarna, så blir det väldigt komplicerat.

Medlem sedan sep. 20011 914 inlägg
#6

Brimba skrev:

Det ni visar letar efter det som är inom <>-taggar. Jag vill ha det precis tvärtom :)

Och det som blir kvar när man tagit bort html taggarna är?

Medlem sedan apr. 2004298 inlägg
#7
Regex(*.?+[^<*.?>])

Kankse?

Vad vill du göra med resultatet? (såvida det inte är en affärs hemlighet)

Pär

Medlem sedan apr. 20012 266 inlägg
#8

Ställde samma fråga här, http://www.webforum.nu/showthread.php?s=&postid=1052612#post1052612, har dock inte hunnit kika så mycket mer på det.

Medlem sedan dec. 19996 721 inlägg
#9

typ "<[^>]+>(.+?)<[^>]+>" kanske?

252 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)