Javascript 正则表达式捕获所有内容,而不是只捕获第一个定义的字符串
我正在转换一些教程的内容并提取Javascript 正则表达式捕获所有内容,而不是只捕获第一个定义的字符串,javascript,html,regex,Javascript,Html,Regex,我正在转换一些教程的内容并提取html标记。 我制作了这个正则表达式:/(?!html)([\s\s]*)/试图让它只捕获第一个html组的内容,但它捕获所有内容直到最后一个html,尽管我(可能位置不好)的负向前瞻 我错过了什么?() 这是文本 一些内容 这是更多的文本 一些内容 使正则表达式变懒: <html\>([\s\S]*?)<\/html\> ([\s\s]*?) 在第一个html标记之前,这将占用所有内容。(?:(?!)* <html>(?:
html
标记。
我制作了这个正则表达式:/(?!html)([\s\s]*)/
试图让它只捕获第一个html组的内容,但它捕获所有内容直到最后一个html,尽管我(可能位置不好)的负向前瞻
我错过了什么?()
这是文本
一些内容
这是更多的文本
一些内容
使正则表达式变懒:
<html\>([\s\S]*?)<\/html\>
([\s\s]*?)
在第一个html标记之前,这将占用所有内容。(?:(?!)*
<html>(?:(?!<\/html>).)*<\/html\>
试试这个。看演示
啊哈。。。好吧,我就在附近,但还是没看到。谢谢大家!@Rikard,
(?!html)
的位置是无用的。它没有任何作用。它应该是(?!html)。*
@pritaeas你能编辑答案让每个人都高兴吗。可能只是删除(?!html)
?
<html>(?:(?!<\/html>).)*<\/html\>