Perl RegEx帮助匹配字符串

时间:2014-05-07 07:38:17

标签: regex perl

我的字符串是

<p class="paraind">Leo Frobenius und Johan Huizinga sehen wiederum in der Analogie von Fest und Spiel &#x201E;das Zusammengeben von strenger Bestimmtheit und echter Freiheit&#x201C;.<a id="cein_fn29" href="einleitung.html#ein_fn29"><sup>29</sup></a> Die rituelle Regelhaftigkeit einerseits und die Absenz des gew&#x00F6;hnlichen Lebens andererseits unterst&#x00FC;tzen den antipodischen Gehalt dieser beiden Kulturph&#x00E4;nomene, wobei das zweite Element auf den kompensatorischen Charakter des Festlichen verweist: Indem der Alltag im Festgeschehen periodisch durchbrochen wird, wird er ertr&#x00E4;glich, kann sich die &#x201E;Stabilisierung eines Ichs&#x201C; formieren.<a id="cein_fn30" href="einleitung.html#ein_fn30"><sup>30</sup></a> &#x201E;Das tempor&#x00E4;re Herausgenommensein aus dem Zwang des Alltags&#x201C; scheint hier zugleich Voraussetzung und Indiz f&#x00FC;r das Festliche zu sein. In dieser U-Chronie, in dieser Nicht-Zeit, kommt es zur synchronen Pr&#x00E4;senz von sehnsuchtsbehaftetem Wunschdenken und &#x201E;gleichzeitigem Wissen um das grunds&#x00E4;tzlich Prek&#x00E4;re&#x201C;.<a id="cein_fn31" href="einleitung.html#ein_fn31"><sup>31</sup></a> Nur in den mannigfaltigen Spielarten des Festlichen ist die &#x201E;vor&#x00FC;bergehende M&#x00F6;glichkeit des Entkommens aus dem Normalen aus den Routinen und Zw&#x00E4;ngen&#x201C; gegeben.<a id="cein_fn32" href="einleitung.html#ein_fn32"><sup>32</sup></a></p>

我想找到:

  

das grunds&amp;#x00E4; tzlich Prek&amp;#x00E4; re&amp;#x201C;。 Nur in den   mannigfaltigen Spielarten des Festlichen

注意:我从变量中找到上面的字符串,所以如果内部存在任何标记,我就无法匹配它。

有人请为此建议任何正则表达式

由于

3 个答案:

答案 0 :(得分:2)

 use strict;
use warnings;
use HTML::TreeBuilder;

my $str = "Your HTML STRING";

# Now create a new tree to parse the HTML
my $tr = HTML::TreeBuilder->new_from_content($str);

# And now find all required tags ex li and create an array
my @lists = map { $_->content_list }  $tr->find_by_tag_name('li');

# And loop through the array printing values of tag.
foreach my $val (@lists) {
   print $val, "\n";
}

对所有其他标签执行相同的操作。

始终建议您解析HTML而不是使用正则表达式进行提取。为此目的写出100%准确的正则表达式是非常困难的。

答案 1 :(得分:0)

如果你想要你提到的标签之间的文字。你可以这样做:

<tagyouwant>([^<]+)

您将获得匹配组中的文字。

例如,假设你想:29,30,31,32,即<sup>内的文字

因此您将正则表达式编写为:<sup>([^<]+)

与其他标签类似。

答案 2 :(得分:0)

我会用它来提取匹配。最好使用某种HTML解析器,但这很有用。

非常无效,请勿将其用于生产。

my $str = '<p class="paraind">Leo Frobenius und Johan Huizinga sehen wiederum in der Analogie von Fest und Spiel 
&#x201E;das Zusammengeben von strenger Bestimmtheit und echter Freiheit&#x201C;.
<a id="cein_fn29" href="einleitung.html#ein_fn29"><sup>29</sup></a>
 Die rituelle Regelhaftigkeit einerseits und die Absenz des gew&#x00F6;hnlichen Lebens andererseits unterst&#x00FC;tzen den antipodischen Gehalt dieser beiden Kulturph&#x00E4;nomene, wobei das zweite Element auf den kompensatorischen Charakter des Festlichen verweist: Indem der Alltag im Festgeschehen periodisch durchbrochen wird, wird er ertr&#x00E4;glich, kann sich die &#x201E;Stabilisierung eines Ichs&#x201C; formieren.<a id="cein_fn30" href="einleitung.html#ein_fn30"><sup>30</sup></a>
 &#x201E;Das tempor&#x00E4;re Herausgenommensein aus dem Zwang des Alltags&#x201C; scheint hier zugleich Voraussetzung und Indiz f&#x00FC;r das Festliche zu sein. In dieser U-Chronie, in dieser Nicht-Zeit, kommt es zur synchronen Pr&#x00E4;senz von sehnsuchtsbehaftetem Wunschdenken und &#x201E;gleichzeitigem Wissen um das grunds&#x00E4;tzlich Prek&#x00E4;re&#x201C;.<a id="cein_fn31" href="einleitung.html#ein_fn31"><sup>31</sup></a> Nur in den mannigfaltigen Spielarten des Festlichen ist die &#x201E;vor&#x00FC;bergehende M&#x00F6;glichkeit des Entkommens aus dem Normalen aus den Routinen und Zw&#x00E4;ngen&#x201C; gegeben.
 <a id="cein_fn32" href="einleitung.html#ein_fn32"><sup>32</sup></a></p>
 <span test>test text</span>
 ';
foreach my $tag (qw|i b span sup sub a|){
    my $s = $str;
    while ($s =~ s!<($tag)[^>]*>(.*?)</\1>!!is){
      print "Match: $1\ttext: $2\n";
    }
}