0
我想写一个正则表达式,它将在<
和>
之间的任何东西上分割,如果它不包含q
那不是一个\q
。这里是我的意思:正则表达式在`q`上分割,如果不是' q`里面`<>`
split nope split
v v v
test1<test2> test3 <tesqt4> test5 < tes\qt6>
我想要做到这一点,而不使用向前或lookbeheads。
这里是我迄今为止,但它仍然没有工作^<(?:[^\\][^q]*)*>
+1。尼斯。注意为未来的读者明确,这也将匹配例如''(我认为OP可以隐含),而不是例如''。 –
Sepster
2013-03-18 00:58:00
@Sepster挺对的。从这个问题我想这就是想要的。任何希望仅允许特定转义字符的读者应该将'[^>]'位更改为'[theCharactersIWantToAllowHere]',并且应该包含'\\',因为这是相当典型的。同样,左侧的'q'可以更改为任何字符集合,以*禁止*作为普通(非转义)文本。 – Dave 2013-03-18 01:02:59
我会避免这些嵌套qanttifiers:'/ <(\\[^>] | [^> q])*>/g'?它基本上是一样的正则表达式,只是一点清洁剂(我认为更易于阅读)。 – FrankieTheKneeMan 2013-03-18 05:14:14