gpt4 book ai didi

c# - 非贪婪正则表达式以但不包含字符串开头

转载 作者:行者123 更新时间:2023-11-30 22:55:10 24 4
gpt4 key购买 nike

我正在尝试从 HTML 中提取某些 URL(例如,所有以 http 开头、包含/tempfiles/并以 .jpg 结尾的网址)。我有类似的东西;

http.*?\/tempfiles\/.*?\.jpg

问题是当我有类似 HTML 的时候;

blah blah <img src=http://somelink/file.html>http://server/tempfiles/blah.jpg
blah blah

它返回 http://somelink/file.html 等
更多垃圾 http://server/tempfiles/blah.jpg

有没有办法说第一个和/tempfiles/之间不能有第二个 http?

最佳答案

你可以使用

http(?:(?!http).)*?/tempfiles/.*?\.jpg

参见 regex demo和一个 Regulex graph :

enter image description here

详情

  • http - http 子串
  • (?:(?!http).)*? - 除换行符以外的任何字符,重复 0 次或多次,尽可能少,不启动 http 字符序列
  • /tempfiles/ - 文字子串
  • .*? - 除换行符外的任何 0+ 个字符,尽可能少
  • \.jpg - .jpg 子字符串。

关于c# - 非贪婪正则表达式以但不包含字符串开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55524020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com