我试图匹配模式期待一个群体
我试图匹配的模式是/\|/g
,即字符
示例 -
Val 1 | Val 2 | Val3
这将返回2场比赛
但我想跳过| char如果在[[]]里面 示例 - ' Val 1 | [[| ]] | Val 3'
这里我不想要| <[]]中的char将被返回。因此,这应该返回2个匹配。
我尝试过负面看,但我的正则表达似乎不起作用。
我抓住[[| ]]使用 - \[\[.*\|.*\]\]
[^(\[\[.*\|.*\]\])]
和(?!(\[\[.*\|.*\]\]))
似乎没有给我想要的结果。
谢谢!
答案 0 :(得分:1)
\[\[.*?]](*SKIP)(*FAIL)|\|
请参阅regex demo
<强>详情
\[\[.*?]](*SKIP)(*FAIL)
- 匹配[[
,然后匹配任何0 +字符,尽可能少,而不是换行符(添加/s
修饰符以匹配不同的行)然后{{1 }},然后]]
(或(*SKIP)(*FAIL)
或(*SKIP)(*F)
)将省略匹配,并使正则表达式引擎继续搜索另一个(*SKIP)(?!)
的结尾目前的比赛|
- 或|
- 文字\|
竖线符号