首页 > 解决方案 > 通用文件扩展名的正则表达式

问题描述

我正在尝试设计一个能够捕获的正则表达式:

  1. *.txt
  2. *.txt|*cvs

正则表达式不得捕获:toto.txt*.txt;*.csv

我想到了这个:\*\.[a-zA-Z]+)(\|\*\.[a-zA-Z]+)*但我捕捉到*.txt;*.csv了我不想要的。

标签: regex

解决方案


您可能会使用:

^\*\.[a-zA-Z]+(?:\|\*\.[a-zA-Z]+)?$

在零件

  • ^字符串的开始
  • \*\.[a-zA-Z]+匹配*.后跟 1+ 个字符 A-Za-z
  • (?:非捕获组
    • \|\*\.[a-zA-Z]+匹配|*.后跟 1+ 个字符 A-Za-z
  • )?关闭组并使其可选
  • $字符串结束

正则表达式演示


推荐阅读