正则表达式匹配两个标记之间的值
来源:百度知道 编辑:UC知道 时间:2024/06/30 19:37:18
如何匹配
lkasdjflas;kjdfl;sa<start>asfdlk;jasdklfjas<end>adfasdflkj;kljasdf
asdfiojas;dfkjas;lkdf<start>alkjfasl;kjdfas<end>fsdafsadf
取<start>asfdlk;jasdklfjas<end>和<start>alkjfasl;kjdfas<end>
怎么取???
lkasdjflas;kjdfl;sa<start>asfdlk;jasdklfjas<end>adfasdflkj;kljasdf
asdfiojas;dfkjas;lkdf<start>alkjfasl;kjdfas<end>fsdafsadf
取<start>asfdlk;jasdklfjas<end>和<start>alkjfasl;kjdfas<end>
怎么取???
用惰性模式(而非贪婪模式),用<start>.*<end>就可以了
在javascript里形如这样
var s="lkasdjflas;kjdfl;sa<start>asfdlk;jasdklfjas<end>adfasdflkj;kljasdfasdfiojas;dfkjas;lkdf<start>alkjfasl;kjdfas<end>fsdafsadf"
var resultArray=s.match(/<start>.*?<end>/g);
resultArray[0]和resultArray[1]即为所求
上述表达式中*?为惰性模式。
(?<组1><start>\s*\S*<end>) 还需要 去掉 <start><end>用 零宽断言 有问题发消息
匹配
<start>(.*?)<end>
要怎么取出来,就看你用什么语言,或什么软件了. 一般是\0