簡體   English   中英

javascript正則表達式在句點后添加換行符

[英]javascript regex to add line break after period

我試圖在javascript中使用正則表達式在每句話之后將換行符添加到被格式化為html變量的json數據中。

僅根據句點來定位它是行不通的-json數據中似乎有多余的字符或其他導致每3或4個字換行的字符。

因此,我試圖尋找一個可以預見大寫字母的時期。 但這是在每個大寫字母之前加上換行符,而不僅僅是在句號后面加上換行符。

我對正則表達式非常陌生,因此任何幫助將非常非常有幫助!

現在,該期間的搜索參數后跟一個大寫字母是:/.(?=[ /.(?=[AZ])/g )/ /.(?=[AZ])/g

javascript是: description.replace(/.(?=[AZ])/g, '<br /><br />');

幾個問題。 第一. RegExp中的“任何字符”。 其次,我認為您不需要?= 我認為您可能正在尋找這樣的東西:

 /\.(\s+)[A-Z]/g

對於更復雜的句子結構,包括引號,括號等,這是我想出的解決方案( gist ):

  1. 正則表達式:

     ([^\\dA-Z][\\.!?][\\)\\]'"”']* +) 
  2. 替換字符串:

     $1\\n 

一個時期. 是與任何單個字符匹配的通配符。 要匹配實際時間,您必須在正則表達式\\.對其進行轉義\\. 所以你的線

description.replace(/.(?=[AZ])/g, '<br /><br />');

變成

description.replace(/\\.(?=[AZ])/g, '<br /><br />');

我還沒有做任何測試來檢查其余的正則表達式。

您需要逃脫. 像這樣的“。” 因此它與任何字符都不匹配。

description.replace(/\.(?=[A-Z])/g, '<br /><br />');

暫無
暫無

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

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