当前位置:编程学习 > asp >>

如何用正则表达式匹配指定字符开始和指定字符结束

a.*?b就是a开始b结束的匹配
如果要限制是一行的开头和末尾的话
就是

^a.*?b$


非贪婪匹配:如何使用正则表达式碰到到第一个匹配到的字符串就停止

 
? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。

非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

例如,对于字符串“oooo”,“o+”将尽可能多的匹配“o”,得到结果[“oooo”],而“o+?”将尽可能少的匹配“o”,得到结果 [‘o’, ‘o’, ‘o’, ‘o’]
例如:”{{[\s\S]*?}}”匹配第一个”{{…..}}”内容且里面不包括两个 “}}”


正则表达式 第一次碰到某个特定字符就返回
比如,现在有字符串https://www.yizuotu.net/make/1/我希望从中抽取出www.yizuotu.net
(http|https)://(\S+?)/
关键在于这个"?"
我们为了遇到一个"/“就返回,而不是最后一个”/“才返回,只需要在后加个”?"

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,