Notepad++正则表达式搜索2个条件
Notepad++ regex search 2 conditions
我正在尝试使用这个
(?=<[^<>]+>)(?=.*<[^<>]+src=(.*?).?+alt=(.*?).?+width=.*?>).*
用这个字符串
<img class=""aligncenter wp-image-27545"" src=""http://www.obrasenmiciudad.df.gob.mx/wp-content/uploads/2012/01/Imagen2-150x113.png"" alt="""" width=""398"" height=""279"" /> 5645 4684 9849 8498 498 4984 9846541513213
但是我找到了整个字符串,我需要找到>后面没有数字的字符串,像这样
<img class=""aligncenter wp-image-27545"" src=""http://www.obrasenmiciudad.df.gob.mx/wp-content/uploads/2012/01/Imagen2-150x113.png"" alt="""" width=""398"" height=""279"" />
您提供的表达式有两个非消耗性验证表达式(以 ?= 开头的位)。它是末尾的位,将匹配并消耗您想要的位。
所以这可能对你有用
(?=<[^<>]+>)(?=.*<[^<>]+src=(.*?).?+alt=(.*?).?+width=.*>)(.*\/>)
我不知道你到底想做什么,但你不需要所有这些无用的前瞻。与其使用过于宽松且会产生大量回溯的大量 .*
,不如使用字符 类 来限制子模式匹配:
<img[^>]*?\ssrc=([^>\s]*+)[^>]*?\salt=(""[^"]*"")[^>]*>
我正在尝试使用这个
(?=<[^<>]+>)(?=.*<[^<>]+src=(.*?).?+alt=(.*?).?+width=.*?>).*
用这个字符串
<img class=""aligncenter wp-image-27545"" src=""http://www.obrasenmiciudad.df.gob.mx/wp-content/uploads/2012/01/Imagen2-150x113.png"" alt="""" width=""398"" height=""279"" /> 5645 4684 9849 8498 498 4984 9846541513213
但是我找到了整个字符串,我需要找到>后面没有数字的字符串,像这样
<img class=""aligncenter wp-image-27545"" src=""http://www.obrasenmiciudad.df.gob.mx/wp-content/uploads/2012/01/Imagen2-150x113.png"" alt="""" width=""398"" height=""279"" />
您提供的表达式有两个非消耗性验证表达式(以 ?= 开头的位)。它是末尾的位,将匹配并消耗您想要的位。 所以这可能对你有用
(?=<[^<>]+>)(?=.*<[^<>]+src=(.*?).?+alt=(.*?).?+width=.*>)(.*\/>)
我不知道你到底想做什么,但你不需要所有这些无用的前瞻。与其使用过于宽松且会产生大量回溯的大量 .*
,不如使用字符 类 来限制子模式匹配:
<img[^>]*?\ssrc=([^>\s]*+)[^>]*?\salt=(""[^"]*"")[^>]*>