簡體   English   中英

Perl Regex替換段落標簽

[英]Perl Regex Substitute paragraph tag

我正在嘗試使用正則表達式將paragragh標記內的內容替換為br br標記后的內容

 s/^[<]p[>](.+)[<][/]p[>]/\1[<]br[>][<]br[>]/

我收到錯誤Unmatched [在以<--- HERE m / ^ [<] p> [<] [

我嘗試將[/]更改為反斜杠/,但我不確定如何解決這個問題。 謝謝=]

我實際上是

s/^<p>(.+)<\/p>/\1<br><br>/;

嘗試這個:

s#(?=</p>)#<br><br>#

每當處理/ ,我喜歡使用另一個分隔符。 在這里,我使用#

因為,您只想添加<br><br>而不觸摸<p>..</p> ,我們可以使用先行錨。 那是(?=...)所做的。 它尋找一個點之后有一個</p>並將其替換為替換字符串。

請注意,環顧四周的表達式為零寬度,即它們與任何字符都不匹配。

您可以使用此版本的正則表達式:

s/<p>(.+?)<\/p>/\1<br><br>/si

我刪除了字符串起始錨^ ,很有可能您不需要它。 .+? 將確保您將匹配最接近的匹配</p> si選項將啟用不區分大小寫的匹配和. 還將匹配換行符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM