日期:2014-05-17  浏览次数:20560 次

求正则表达式???????????????急
<?php 
$str = '<div id="Div3" class="modResumeInfo">
<div class="title" onclick="clickLabel(rsmEduExCt)">
<div class="dcrL dcrArrowGreen"></div>
<h3>外语能力</h3>
</div>
<div id="Div4" class="content">  
   
<div class="workExCom">英语:读写能力精通 | 听说能力熟练</div>

<div class="workExCom">韩语:读写能力一般 | 听说能力良好</div>

<div class="workExCom">德语:读写能力一般 | 听说能力一般</div>

</div>  
</div><!--modResumeInfo结束-->
我想取出英语 韩语 德语这三个词,用正则表达是怎么写?
用这种格式:
前字符串(?<content>[\s\S]*?)后字符串

------解决方案--------------------
PHP code

$str = '<div id="Div3" class="modResumeInfo">
<div class="title" onclick="clickLabel(rsmEduExCt)">
<div class="dcrL dcrArrowGreen"></div>
<h3>外语能力</h3>
</div>
<div id="Div4" class="content">

<div class="workExCom">英语:读写能力精通 | 听说能力熟练</div>

<div class="workExCom">韩语:读写能力一般 | 听说能力良好</div>

<div class="workExCom">德语:读写能力一般 | 听说能力一般</div>

</div>
</div><!--modResumeInfo结束-->';

preg_match_all('@<div class="workExCom">(.+):(.+)</div>@u',$str,$match);

var_dump($match[1]);

------解决方案--------------------
PHP code
$str=<<< TEXT
<div id="Div3" class="modResumeInfo">
<div class="title" onclick="clickLabel(rsmEduExCt)">
<div class="dcrL dcrArrowGreen"></div>
<h3>外语能力</h3>
</div>
<div id="Div4" class="content">   
    
<div class="workExCom">英语:读写能力精通 | 听说能力熟练</div>

<div class="workExCom">韩语:读写能力一般 | 听说能力良好</div>

<div class="workExCom">德语:读写能力一般 | 听说能力一般</div>

</div>   
</div><!--modResumeInfo结束-->

TEXT;

preg_match_all("/<div\s+class=\"workExCom\">(.*):/",$str,$arr);
print_r($arr);