簡體   English   中英

用Javascript Regex替換不包含特定字符串的行的回車

[英]Replace carriage return for lines not containing specific string by Javascript Regex

我下面有一些文字行

Procedure Gato
Do task1
    If early Then come back
    turn 2
End Procedure
Schedule Balo
    If late Then go to home
    turn 2
End Schedule'

我需要的結果是

Procedure Gato: Do task1: If early Then come back
    turn 2: End Procedure
Schedule Balo: If late Then go to home
    turn 2: End Schedule'

我使用模式\\(?!\\n.*(\\b(Procedure |Schedule |Then )).*)\\n\\替換了以前所有不包含“ Procedure”或“ Schedule”或“ Then”的回車符。 但是,它僅對“過程”和“計划”(不包括“然后”)有效。 如何獲得我需要的確切結果? 很高興收到一些建議。

此模式將完成此工作:

(^(?:(?!Then)(?! Procedure)(?! Schedule).)*)(\n\s*)

它基本上是捕獲在lookAheads上沒有單詞的行,並用空格代替\\n\\s*\\s*主要用於下一行選項卡)。 我還捕獲了該行的其余部分,因此替換必須為$1:

觀看演示

更改:

|Then

至:

|.*Then

或使用限制性更強的正則表達式替換.* 例如:

/(?!\n.*(\b(Procedure |Schedule |.*?Then )).*)\n/g

暫無
暫無

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

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