如何编写查找文件扩展名的正则表达式



我正试图在一堆文本中找到文件扩展名的类型。

文件扩展名后跟空格或特殊字符。为例。"123 . txt";或".xlsx——(123)"。在这些示例中,我想提取的文本是txt和xlsx。

请注意扩展名可以包含大写或小写字母(或两者都包含)。

我试过以下。

.[a-z]([-s])

但是它不起作用。请告诉我如何解决这个问题。

.([a-zA-Z]+)[^A-Za-z]
  • 点是一个元字符,所以它需要转义(用斜杠)。
  • 括号创建一个组。
  • 字符类[a-zA-Z]表示任何小写或大写字母。
  • +表示前面表达式的一次或多次出现,因此[a-zA-Z]+表示一个或多个字母。
  • ^字符作为字符类中的第一个字符表示NOT。换句话说,[^a-zA-Z]表示非字母的任何字符。

因此,上面的表达式查找一个[literal]点,后面跟着任意数量的小写或大写字母,最后后跟一个非字母(小写或大写)。

使用

.[a-zA-Z0-9]+b

参见正则表达式证明。

--------------------------------------------------------------------------------
.                       '.'
--------------------------------------------------------------------------------
[a-zA-Z0-9]+             any character of: 'a' to 'z', 'A' to 'Z',
'0' to '9' (1 or more times (matching the
most amount possible))
--------------------------------------------------------------------------------
b                       the boundary between a word char (w) and
something that is not a word char

相关内容

  • 没有找到相关文章

最新更新