RegExp 查找/替换双引号内的换行符,不影响双引号外的换行符

stU*_*Urb 4 php regex csv

我有一个 CSV 文件,由于包含换行符的字段而导致导入问题。由于 CSV 导入器将每个换行符视为新行,因此字段中的换行符会造成混乱。

所以我想替换双引号内的每个换行符同时<br>保留双引号外的“真实”换行符不变。

第一步是能够创建一个正则表达式来获取文本文件中的换行符。

(\n|\r)
Run Code Online (Sandbox Code Playgroud)

但是在这之后我迷路了,因为我在这个表达式中找不到xxx:

(")(xxx)(\n|\r)(xxx)(") 
Run Code Online (Sandbox Code Playgroud)

以及让“真正的”换行符保持不变的解决方案。

结论:如何替换字段中的每个换行符,用双引号括起来 <br>

我现在使用 sublime text 来测试正则表达式,但稍后它将在 php 应用程序中使用。

anu*_*ava 5

搜索模式:

("[^"\n]*)\r?\n(?!(([^"]*"){2})*[^"]*$)
Run Code Online (Sandbox Code Playgroud)

更换图案:

$1<br>
Run Code Online (Sandbox Code Playgroud)

正则表达式演示