Regex:Find only";它们不是分隔符
我正在尝试构建一个正则表达式,用于在CSV文件中查找所有非文本分隔符的Regex:Find only";它们不是分隔符,regex,csv,Regex,Csv,我正在尝试构建一个正则表达式,用于在CSV文件中查找所有非文本分隔符的“(由;分隔)。因此,规范如下: “不在行首 “前面没有; “后面没有 “不在一行的末尾 我使用node.js,因此没有可能的查找 下面是要测试的示例行: 123123;”这是一个文本。这些“引号”应该匹配,这一个不匹配;“文本”4125;“也不匹配” 提前感谢!您可以使用以下正则表达式: (?<!^|;)"(?!;|$) \r\n是Windows换行符,\n是UNIX换行符 下面是一个活生生的例子:我只想做:
“
(由;
分隔)。因此,规范如下:
“
不在行首“
前面没有;
“
后面没有代码>
“
不在一行的末尾123123;”这是一个文本。这些“引号”应该匹配,这一个不匹配;“文本”4125;“也不匹配”
提前感谢!您可以使用以下正则表达式:
(?<!^|;)"(?!;|$)
是Windows换行符,\r\n
是UNIX换行符\n
var s='123123;”这是一个文本。这些“引号”应该匹配,这一个不匹配;“文本”4125;“也不匹配”;
res=s.replace(/([^;])”([^;])/g,“$1$2”);
控制台日志(res)代码>为什么要投反对票?非常感谢!唯一缺少的是第四个标准,所以我添加了一个\n
:([^;\n])”([^;\n])
@boernard:只有在最后一个引号后面有一个字符时,才需要添加\n
,比如废话“abc
我在这里测试了这个,在第二行中,最后一个引号被删除了matched@boernard:好的,但是很奇怪,我已经在perl脚本中测试了whithin,它成功了。语言之间的解释可能有一些小的差异。@boernard:您是否也要删除双引号(即“引号”
?
(?<!^|;|\r\n|\n)"(?!;|$|\r\n|\n)