正则表达式不是用某些词来进行元音行事

时间:2017-05-13 23:34:15

标签: javascript html regex

我正在尝试为一个简单的阅读辅助网站突出显示元音。

我有一些HTML并希望突出显示元音,但也有一些我不想搞砸的HTML。基本上只是<mark data-trigger="">other word</mark>

澄清。

我有这个:

Hello, this is a <mark data-trigger="">word</mark> that is in the text. I 
want to get all vowels and wrap it in spans, but avoid messing with the other 
html.

我想要这个:

H<span>e</span>ll<span>o</span>, th<span>i</span>s <span>i</span>s a <mark data-trigger="">word</mark> th<span>a</span>t...

我知道这取代了所有元音&gt; replace(/(a|e|i|o|u)/ig, "<span class='vowel'>$1</span>")

添加“不要弄乱MARK标签内的任何东西”

就足够了

我可以使用RegExp实现这一目标吗?

我可以使用外部库,jQuery或其他任何东西。

1 个答案:

答案 0 :(得分:0)

这应该捕获未包含在html标签中的所有元音,也不包括标签内部的元音。

/(a|e|i|o|u)|(?:<.*?>.*<\/.*?>)/g

如果您确实要捕获html标记内的文本,那就是这个。

/(a|e|i|o|u)|(?:<.*?>)/g