我想要一个正则表达式来识别双引号内的管道字符。
我正在使用
\".+\|.+\"
正确匹配' 1 | Some" quote |文本" | 4' 并且正确地不符合' 1 | Some"引用"文本| 4'
然而,它也匹配' 1 | Some"引用" text | 4 | 5 | 6 |更多"引用"文| 9' 因为有两组引号 - 它看到最外面的引号和它们之间的管道。
在这种情况下,如何将正则表达式更改为不匹配?
更新:原来我需要它在引号内的多个管道上匹配。我一直在用:
/\"([^|]+)\|([^|]+)\"/
适用于引号内的1个管道,例如" 1 | Some" quote |文字" | 4",但现在我需要它也匹配像" 1 | Some" quote |文字|与|管" | 4"
任何想法???
答案 0 :(得分:1)
您希望匹配除.+
之外的任何字符,而不是使用与任何字符匹配的|
。要做到这一点,你想要[^|]+
。根据你所写的内容,这应该是你想要的。