正则表达式

正则表达式 描述字符串中的模式,可用于确定给定模式是否出现在文本中。

在 TreeSize 中,正则表达式可用于查找符合正则表达式指定条件的特定文件和/或文件夹。支持特殊字符列表

下表显示了一些最常用的语法,并提供了一些示例:

表达式

语法

描述

示例

任意字符

.

匹配除换行符以外的任何单个字符。

a.o 匹配 "around" 中的 "aro" 和 "about" 中的 "abo",但不匹配 "across" 中的 "acro"。

零个或多个

*

匹配前一个表达式的零个或多个出现,并进行所有可能的匹配。

a*b 匹配 "bat" 中的 "b" 和 "about" 中的 "ab"。 e.*e 匹配单词 "enterprise"。

一个或多个

+

匹配前一个表达式的至少一个出现。

ac+ 匹配包含字母 "a" 和至少一个 "c" 的单词,如 "race" 和 "ace"。 a.+s 匹配单词 "access"。

字符串开始

^

匹配字符串的开始。

^[0-9] 匹配以数字开头的字符串。

字符串结束

$

匹配字符串的结束部分。

exe$ 匹配以 "exe" 结尾的字符串。

单词的开头

[[:<:]]

仅在文本的此位置开始时匹配一个单词。

[[:<:]]in 匹配以字母 "in" 开头的单词,如 "inside" 和 "into"。

单词的结尾

[[:>:]]

仅在文本的此位置结束时匹配一个单词。

ss[[:>:]] 匹配以字母 "ss" 结尾的单词,如 "across" 和 "loss"。

集合中的任意一个字符

[]

匹配方括号中的任意一个字符。要指定字符范围,请列出起始和结束字符,并用短横线 (-) 分隔,如 [a-z]。

be[n-t] 匹配 "between" 中的 "bet","beneath" 中的 "ben",以及 "beside" 中的 "bes",但不匹配 "below" 中的 "bel"。

集合中不包含的任意一个字符

[^...]

匹配不在 ^ 后面的字符集中的任何字符。

be[^n-t] 匹配 "before" 中的 "bef","behind" 中的 "beh",以及 "below" 中的 "bel",但不匹配 "beneath" 中的 "ben"。

|

匹配 OR 符号 (|) 前后的表达式。主要用于分组。

(sponge|mud) 匹配 "sponge bath" 和 "mud bath"。

转义字符

\

将反斜杠 (\) 后面的字符作为字面量匹配。这使您能够查找在正则表达式符号中使用的字符,例如 {^

\^ 搜索 ^ 字符。

重复 n 次

{n}

匹配前一个表达式的 n 次出现。

[0-9]{4} 匹配任何 4 位数字序列。

分组

()

允许您将一组表达式组合在一起。如果您想在一次搜索中搜索两个不同的表达式,可以使用分组表达式将它们组合在一起。

如果您想搜索 [a-z][1-3][0-9][a-z],您可以将它们组合为:([a-z][1-3])|([0-9][a-z])

更多示例

正则表达式

用例

[0-9]\d

查找所有名称中至少包含一个数字的文件/文件夹。

a|b

查找所有名称中包含“a”或“b”的文件/文件夹。

[^(A-Za-z)]

查找所有名称中包含至少一个不在A-Z或a-z范围内的字符的文件/文件夹。

^E[0-9]{7}$

查找所有以“E”开头,后面跟着恰好7个数字的文件/文件夹。

[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$

查找所有文件/文件夹,其文件夹深度至少为2且最多为4。

[^\x00-\x7F]

查找所有包含无效ASCII字符的文件/文件夹。

[^\P{C}]

查找所有包含无法打印的Unicode字符的文件/文件夹。

[\xA0]

查找所有文件/文件夹名称中包含不可换行空格字符(Unicode NOBR,U+00A0)而不是普通空格字符的名称。

[~\""#%&\*\:<>\?\/\\{|}]

查找所有包含在SharePoint服务器上无效字符的文件和文件夹名称。

^\s+.*

查找所有以空格开头的文件和文件夹。

\s+(\.[^.]+)$

查找文件名末尾带有空格的扩展名文件。

.*\s+$

查找文件夹名末尾带有空格的文件夹。

创建正则表达式的工具

https://regex101.com/ (在线)

http://regexpal.com/ (在线)

http://sourceforge.net/projects/regexpeditor/ (下载)

http://sourceforge.net/projects/regextester/ (下载)

http://sourceforge.net/projects/regaxe/ (下载)