【发布时间】:2014-10-15 17:05:58
【问题描述】:
我想要一个正则表达式来识别双引号内的管道字符。
我正在使用
\".+\|.+\"
正确匹配 '1|Some "quote | text"|4' 并且在 '1|Some "quoted" text|4' 上正确不匹配
但是,它也匹配“1|一些“引用”文本|4|5|6|更多“引用”文本|9' 因为有 2 组引号 - 它看到最外面的引号和之间的管道。
在这种情况下如何将正则表达式更改为不匹配?
更新:原来我需要它来匹配引号内的多个管道。我一直在使用:
/\"([^|]+)\|([^|]+)\"/
适用于引号内的 1 个管道,例如 "1|Some "quote | text"|4",但现在我需要它来匹配类似 "1|Some "quote |正文 |与 |管道“|4”。
有什么想法吗???
【问题讨论】:
-
你的引号也可以分隔吗?例如:
"A \"quoted\" string" -
我敢打赌你正在处理管道分隔的 csv。 Ruby 有一个 CSV 类。