javascript - 用 Javascript Regex 替换不包含特定字符串的行的回车符

标签 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”或“安排”或“然后”之前。但是,它仅适用于不包括“Then”的“Procedure”和“Schedule”。 如何获得我需要的准确结果?很高兴收到一些建议。

最佳答案

这个模式将完成这项工作:

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

它基本上捕获了 lookAheads 上没有单词的行,并将 \n\s* 替换为空格(\s* 主要用于下一行选项卡)。我也捕获了该行的其余部分,因此替换必须是 $1:

参见 Demo

关于javascript - 用 Javascript Regex 替换不包含特定字符串的行的回车符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683237/

相关文章:

javascript - AngularJS 拖放事件监听器不起作用

javascript - 如何从 javascript 检测 MathML 标签支持 (<mfrac>,<mtable>)?

MySql - 结合 REGEXP 和 BETWEEN 函数

javascript - 如何解析 Objective-C 中 JavaScript 赋值语句中的值

android - 正则表达式删除除句点外的所有特殊字符

python - Python LDAP查询的过滤结果

javascript - AngularJS 在工厂中创建元素

javascript - AngularFire 0.82 - 如何查询非规范化数据?

javascript - Textarea 空检查

java - 如何正确分割非转义分隔符?