2017-10-16 68 views
0

在像正则表达式interprete降价却忽略HTML

Hallo, this is <code>`code`</code> and this `is code again`. 

去分析它,用正则表达式解析一个字符串?

在这个例子中,用户只是最后输入了最右边的'。第一个“代码”显然已经被HTML包围了。

我需要一个正则表达式来获得下一个代码指示部分。

总是存在一个系列,即有效的降价并且未被相应的HTML标签包围。

如何获得这个特定的系列(不管它是*,**,___,或者其他)?

回答

0

如果你想未标记为“代码”逢强调字符串匹配,你可以使用

(?<!<code>)`[\w ]+` 

您可以测试它regex101.com

1

所以,你想要的是一个正则表达式,只有匹配没有被HTML标签包围的降价对不对?

您可以使用这样的事情:

/(?:[^<>]|^)(`[^<>].*?`)/ 

这将只匹配放在里面``文本不直接放在旁边的一个<或>字符。这样,无论< ...>中的HTML标签是什么,“代码”都不会匹配。

看到这个Regex101.com

+0

这不工作,如果字符串以单引号开始,并增加了一个空白的每一段代码 –

+0

你是什么意思是什么呢?它匹配这个:“'code'”?如果是这样你是对的。你提供的正则表达式虽然也是如此。 –

+0

不,我的意思是如果整个事情以“'”开头请参阅:https://regex101.com/r/mhfUFQ/2。你的正则表达式匹配“'”字符 –