可能重复:
Regular expression to match string not containing a word?
要匹配我将使用的一组字符,例如[^\"\\r\\n]*
现在我想要不匹配固定字符集,例如“| =”
换句话说,我想匹配:(不是“,不是\ r,不是\ n,而不是| =)。
编辑:我正在尝试修改正则表达式来解析用分隔符分隔的数据。我从a CSV parser获得了单分隔符解决方案,但现在我想将其扩展为包含多字符分隔符。我认为前瞻不会起作用,因为我想消费,而不仅仅是断言和丢弃匹配的字符。
答案 0 :(得分:0)
我想出来了,它应该是:((?![\"\\r\\n]|[|][=]).)*
从原始帖子中的CSV解析器链接修改的完整正则表达式将为:((?<field>((?![\"\\r\\n]|[|][=]).)*)|\"(?<field>([^\"]|\"\")*)\")([|][=]|(?<rowbreak>\\r\\n|\\n|$))
这将匹配任何数量的字符(不是“,不是\ r,不是\ n,而不是| =),或是带引号的字符串,后跟(”| =“或行尾)