You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 4.6.2正则表达式过滤含house的图片文件失败求助

修正后的正则表达式方案

原正则无法匹配house.gif、123house.png的核心问题:

  • \.+要求house与后缀之间必须存在至少一个任意字符,直接排除了house紧跟后缀的场景
  • 后缀前的.未转义,会匹配任意字符而非实际的文件名点号
  • 多余的\b单词边界不必要地限制了匹配范围

基础修正版(匹配包含house的任意文件名)

Regex regex = new Regex(@"^.*house.*\.(jpg|png|gif)$", RegexOptions.IgnoreCase);

各部分作用:

  • ^:锁定字符串开头,确保从文件名起始位置开始校验
  • .*:匹配任意数量的任意字符(包括0个),支持house出现在文件名的任意位置
  • house:精确匹配需要包含的目标字符串
  • \.(jpg|png|gif):转义后的.匹配文件名的点号,括号内指定允许的后缀类型
  • $:锁定字符串结尾,确保后缀是文件名的最后部分
  • RegexOptions.IgnoreCase:可选参数,用于忽略大小写(比如匹配House.gif或HOUSE.PNG)

进阶版(仅匹配house作为独立单词的文件名)

如果需要确保house是独立单词(不匹配houser.gif这类包含house作为子串的文件名),可以调整为:

Regex regex = new Regex(@"^.*\bhouse\b.*\.(jpg|png|gif)$", RegexOptions.IgnoreCase);

这里的\b是单词边界,保证house前后为非单词字符(如开头、结尾、点号、横杠等)。

内容的提问来源于stack exchange,提问作者Bender.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:42:38