gpt4 book ai didi

正则表达式匹配文本直到第二个点,排除 html 标签

转载 作者:行者123 更新时间:2023-12-01 05:12:57 26 4
gpt4 key购买 nike

我试图匹配从头到第二个点的所有文本,以排除包含在 html 标签内的点。

以下正则表达式 /^([^\.]*[\.]){0,2}/如果它们不是 HTML 标签,则工作正常,因为它会选择从开始到第二个点的所有内容。

但是,当我有这个时:

<p><img src="example.image.com" alt="foo">Text. More text.</p>

我希望我的正则表达式在文本的第二次出现时停止,而不是在“图像”和“com”之间的点处。

我也知道 \.(?![^><]*>)将选择 html 标签之外的所有点,但我真的很挣扎,我真的很感激你的帮助!

最佳答案

试试这个正则表达式:

(?:(?:(?:<[^>]+>)*[^<.]*)*\.){2}
(?:                  # start of non-capturing group
(?: # start of non-capturing group
(?: # start of non-capturing group
<[^>]+> # matches an HTML tag
)* # match any more tags
[^<.]* # matches a sequence of non-tag, non-dot characters
)* # match any more tags and non-dot characters
\. # match a dot
){2} # repeat all of the above again

详细讲解示范 here .

关于正则表达式匹配文本直到第二个点,排除 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23159494/

26 4 0