2016-08-20 29 views
1

我有HTML,看起来像这样:在做搜索我想跳过,在结束标记结束所有代码

<td class="danish"> Det 
     tycker jag!</td> 

我在修这个换行符:

<td class="danish">(.*) 
\s*(.*)</td> 

但有时HTML的标签在同一行结束:

<td class="danish">Det tyckeg jag</td> 

我希望它跳过这样的诗句搜索时,找到下一个布洛克行。

如果有人认为它只是使代码看起来好一个无聊的东西,其余代码看起来像这样(不必读):

<td class="danish"> Det 
    tycker jag!</td> 
<td>  
    <?php audioButton("../../audio//det_lyder_godt","det_lyder_godt"); ?> 

我最终不得不采取的文本表并将audiobutton中的一个替换为千次,但这是一个不同的问题

+0

关于使用记事本++与HTML Tidy结合使用的HTML5(实验性)有什么用? –

+0

我没有看到问题。您的正则表达式与虚线匹配,并且与完整的不匹配。我错过了什么? –

+0

嗨艾伦。这个正则表达式(。*)会查找所有内容,直到行结束,包括结束标记。我希望它跳过结束标记的所有内容并找到下一个虚线。我只关心在他们中间休息一下。 “ – Moogal

回答

1

我认为这是你在找什么:

(<td class="danish">(?:(?!</td>).)*)\r?\n\s* 

这从<td class="danish">匹配到下一个换行符,除非有一个</td>标签第一。替换为"$1 ""\1 "(不含引号)。使用\r?\n而不是文字换行使正则表达式更健壮。更好的是\R,如果你的正则表达式支持它。

+0

这就是它!非常感谢 :) – Moogal

1

\s表示“任何空格字符”,其中包含空格和换行符。你可以明确地搜索该必须包含新行线,通过使用类似:

<td class="danish">(.*)\n\s*(.*)</td> 

注意,在正则表达式的附加\n

+0

嗨,汤姆。白色空间不是问题。这个正则表达式(。*)会查找所有内容,直到行结束,包括结束标记。我希望它跳过结束标记的所有内容并找到下一个虚线。我只关心在他们中间休息一下。所以,它会看起来像(。*)(正则表达式会读取并使其忽略此行) – Moogal