0

可能重复:
正则表达式匹配不包含单词的字符串?

为了不匹配我会使用的一组字符,例如[^\"\\r\\n]*

现在我想不匹配一个固定的字符集,例如“|=”

换句话说,我想匹配:(不是 ",不是 \r,不是 \n,而不是 |= )。

编辑:我正在尝试修改正则表达式以解析用分隔符分隔的数据。我从CSV parser获得的单分隔符解决方案,但现在我想将其扩展为包含多字符分隔符。我认为前瞻行不通,因为我想消费,而不仅仅是断言和丢弃匹配的字符。

4

1 回答 1

0

我想通了,应该是:((?![\"\\r\\n]|[|][=]).)*

从原始帖子中的 CSV 解析器链接修改的完整正则表达式将是:((?<field>((?![\"\\r\\n]|[|][=]).)*)|\"(?<field>([^\"]|\"\")*)\")([|][=]|(?<rowbreak>\\r\\n|\\n|$))

这将匹配任意数量的字符(非“、非 \r、非 \n 和非 |=),或带引号的字符串,后跟(“|=”或行尾)

于 2010-06-30T12:45:09.433 回答