请给RegEx帮助-用引号引起来的字符串中包含双引号

RLW

我一直在搜索,浏览stackoverflow RegEx解决方案,直到我眼花bug乱。

我有一个第三方解决方案正在提供“制表符分隔的文本文件”,但是我确定生成此文件的任何内容都嵌入了双引号(甚至没有转义双引号)-我想知道是否有可能清除这些错误用RegEx从文件中删除(我在导入之前在文件上使用了FNR)。

每一行数据包含14列,以制表符分隔,按预期在每个字段两边加上双引号。所有缺陷都发生在字段2或字段10(不是第一字段或最后一个字段)中,因为它们是培训课程-一些讲师使用的名称本身中带有双引号的名称-并且此第三方报告不会逃避它们。我希望在正确的引号之前和之后都包含制表符-并过滤所有内部错误的双引号或使用\“对其进行正确转义。

"......"    "ADC000000" "Being the "Best" you can be"   "2F8A776C"  "...."
"......"    "BBC555555" ""Golden Opportunity""  "8F4C3DEE"  "...."

期望的输出

"......"    "ADC000000" "Being the \"Best\" you can be" "2F8A776C"  "...."
"......"    "BBC555555" "\"Golden Opportunity\""    "8F4C3DEE"  "...."

或(以最简单且最快的速度为准,文件中包含220,000行,并且只有16-50个错误)

"......"    "ADC000000" "Being the Best you can be" "2F8A776C"  "...."
"......"    "BBC555555" "Golden Opportunity"    "8F4C3DEE"  "...."

对此表示冗长,我们深表歉意。但是我希望这个问题尽可能清楚。

阿维纳什·拉吉(Avinash Raj)

您可以使用下面的正则表达式进行匹配"以匹配制表符或行首,而不是制表符或行锚末尾。

(?<!\t|^)"(?!\t|$)

然后替换匹配"\\"

演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SpecFlow C#Regex可选参数用双引号引起来

VBScript Regex当数字用引号引起来时替换

python regex匹配并用引号引起来的转义字符

用引号引起来的字符串处理引号

从字符串中删除所有未用单引号或双引号引起来的空格

ASP.NET Core API发送用双引号引起来的字符串

用双引号引起来的字符串拆分问题

如果用双引号引起来,awk上的逗号分隔字符串将忽略

使用util.format,在数组中的每个字符串周围用双引号引起来

php:字符串被双引号引起来,而不是单引号引起来。怎么修?

分割包含连续逗号和用引号引起来的逗号的字符串

jQuery使用Regex在文本内查找链接,但如果链接用引号引起来则排除在外

exec用双引号引起来

用双引号引起来

连接用引号引起来的逗号分隔的字符串(给定包含这些字符串的结构的列表)

Perl-DBI字符串错误地被双引号引起来

使用JavaScript提取由数字无关的双引号引起来的子字符串

在Perl兼容的正则表达式中检测带有双引号和反斜杠转义的双引号引起来的字符串

文本是否用双引号引起来时,转义文本中的特殊字符

SQLException:字符串'''后的右引号引起来

Python查找用单引号引起来的字符串

检查字符串是否用单引号引起来Javascript

Python:用空格分隔的字符串的每个词都用引号引起来

字符串扩展-用引号引起来的变量转义为值

通过Web API发送的字符串用引号引起来

字符串的正则表达式,可选地用引号引起来

PowerShell参数字符串始终用单引号引起来

用单引号而不是双引号引起来的C ++中的转义序列

',(用引号引起来)