[英]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 ):
正則表達式:
([^\\dA-Z][\\.!?][\\)\\]'"”']* +)
替換字符串:
$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.