正则表达式查找不是LF十六进制的所有LF字符

Vin*_*ent 0 regex

我正在查看一个CSV文件,该文件在字段中间具有LF字符,而CRLF字符实际上表示新行。我正在Sublime Text 3中以十六进制查看文件,我想做一个简单的查找并替换为我搜索LF字符但不是CRLF的地方,并用空格替换。

我已经找到了LF但不是CRLF,我可以使用正则表达式

[^0d]0a。问题是它不能捕获您可能拥有XX0d 0aXX的情况,而且我不知道如何使用正则表达式捕获它。然后,我想用十六进制的'20'代替。

Bar*_*mar 5

使用0d与可选空格匹配的负向后搜索。

(?<!0d\s*)0a
Run Code Online (Sandbox Code Playgroud)

但是,某些正则表达式引擎不允许在后面使用量词。因此,您可能需要将空格检查放在后面,然后捕获它以在替换中使用它。

(?<!0d)(\s*)0a replace with ${1}20
Run Code Online (Sandbox Code Playgroud)

如果您以文本方式而不是十六进制方式执行此操作,可能会更容易。更换

(?<!\r)\n
Run Code Online (Sandbox Code Playgroud)

与空间。