Regex 用于匹配具有不同内部内容的一对双管道的正则表达式

Regex 用于匹配具有不同内部内容的一对双管道的正则表达式,regex,Regex,如何匹配一对双管道(即| | | | | |),同时检查管道之间的内容是否为单个管道 因此,| | | |匹配“text”,而| |扰流板2 | |匹配“扰流板2 |扰流板” 我已经尝试了\\\\\\\\\([^\\\\\\\]+)\\\\\\\\\\\\\\\\,但这只匹配了内容,两个管道之间没有任何进一步的管道。您可以使用负前瞻来忽略模式: \|\|((?!\|\|).+)\|\| (?!\\\\\\\\\\\)表示不匹配\\\\\\\\\\\/code>字符串。试试\\\\\\\\\\\

如何匹配一对双管道(即
| | | | | |
),同时检查管道之间的内容是否为单个管道

因此,
| | | |
匹配
“text”
,而
| |扰流板2 | |
匹配
“扰流板2 |扰流板”


我已经尝试了
\\\\\\\\\([^\\\\\\\]+)\\\\\\\\\\\\\\\\
,但这只匹配了内容,两个管道之间没有任何进一步的管道。

您可以使用负前瞻来忽略模式:

\|\|((?!\|\|).+)\|\|

(?!\\\\\\\\\\\)
表示不匹配
\\\\\\\\\\\/code>字符串。

试试
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\(.?)
。这将匹配两个管道对之间的任何内容,但不是贪婪的(在
*
之后是
),因此尽可能少的字符。这非常有效。我从来没有想过不贪婪。谢谢你的帮助!为什么我的帖子被否决了?这是一个错误的模式,它将匹配从
|
(后面不跟
|
)到最后一次出现
|
的所有字符。