正则表达式:查找所有斜杠,但&#34; <! - “

时间:2016-05-04 16:32:04

标签: javascript regex

我需要在字符串中找到所有斜杠,不包括&#34;&lt;&#34;在它前面的符号。

/(?!<)(\/)/g无法正常工作。

编辑:我忘了提到我使用的是Javascript。建议的解决方案似乎适用于php。

3 个答案:

答案 0 :(得分:0)

/(?<!<)([\/\\])/g

\ \正在做一个&#39;转义的文字&#39;因为斜线不会自然地决定被捕获的角色。

你正在做一个负面的先行断言。我将其改为负面的后视断言。

这个工具:https://regex101.com/真的帮助我了解正则表达式。它告诉你你在寻找什么。

答案 1 :(得分:0)

您可以使用negative lookbehind,即:

/(?<!<\/)

正则表达式说明:

/(?<!<\/)

Match the character “/” literally «/»
Assert that it is impossible to match the regex below with the match ending at this position (negative lookbehind) «(?<!<\/)»
   Match the character “<” literally «<»
   Match the character “/” literally «\/»

Regex101 Demo

答案 2 :(得分:0)

视觉上,你的思想被愚弄了。

(?!<)看起来像是负面的背后,但它实际上是负面的 先行

这个(?<!<)是负面的背后隐藏。

注意在正则表达式中首先放置断言会减慢正则表达式 10到30次。

将文字放在文字后面以获得更好的效果/(\/)(?<!<\/)/