---
title: "RegExp nr2"
type: "forum-thread"
url: "https://www.webforum.nu/amne/perl-ruby/19154-regexp-nr2"
topic: "Perl & Ruby"
topic_url: "https://www.webforum.nu/amne/perl-ruby"
author: "sgtpepper"
published: "2000-08-30T11:34:00.000Z"
updated: "2000-09-01T06:28:00.000Z"
replies: 5
views: 390
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/perl-ruby/19154-regexp-nr2"
---

# RegExp nr2

## #1 — sgtpepper, 2000-08-30T11:34Z

Någon snäll RegExp-kille (Robban? :e) som kan hjälpa mig med ett trivialt RegExp-problem:

Jag vill i en given sträng ta bort alla html-taggar förutom \<br\> och \<p\>, dessa skall vara kvar i oförändrad form. Jag vill alltså inte ersätta html-taggarna med något utan jag vill helt och hållet utplåna dom från strängen... Hur göra?

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

## #2 — Robban, 2000-08-30T13:11Z

Om den givna strängen är $string:

```
$string =~ s{<(?!(p|/p|br)).*?>}{}igs;
```

En förklaring kanske? :)

\<(?!(p\|/p\|br))

Matcha alla '\<' som inte följs av 'p', '/p' eller 'br' (i:et på slutet gör att ingen skillnad görs mellan stora och små bokstäver).

.\*?\>

Samt matcha alla tecken fram till och inkluderande nästa '\>' (s:et på slutet gör att även radmatningar inkluderas).

Det som matchas ersätts med ingenting ({}). Sedan gör g:et på slutet att matchningen blir global (d.v.s. innefattar alla HTML-taggar, inte bara den första).

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

## #3 — sgtpepper, 2000-08-30T13:23Z

Du är en äkta RegExp-gud! Jag knöböjer vid dina fötter! :e

Tack!

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

## #4 — Robban, 2000-08-31T14:31Z

Hittade ett fel i uttrycket. Som det står släpps t.ex. även \<pre\>\</pre\> igenom. Kanske inte så bra. :)

Ändra till:

```
$string =~ s{<(?!(p>|/p>|br> )).*?>}{}igs;
```

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

## #5 — sgtpepper, 2000-08-31T20:25Z

Återigen tack!

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

## #6 — Robban, 2000-09-01T06:28Z

Fel igen. Men den här gången är det inte orsakat av mig. :)

Ser nu att forumscriptet petat in ett mellanslag efter br\>. Det skall inte vara där.

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

---

Tråden på webben: https://www.webforum.nu/amne/perl-ruby/19154-regexp-nr2
