正则表达式

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

在 TreeSize 中,正则表达式可以用于查找符合正则表达式指定标准的特定文件和/或文件夹。支持`特殊字符列表 <https://www.jam-software.com/redirects/?regex_syntax_info>`_。

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

表达

语法

说明

示例

任何字符

.

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

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 "结尾的单词,如 "ross "和 "loss"。

集合中的任何一个字符

[]

匹配 [] 中的任意一个字符。要指定字符范围,请列出以破折号 (-) 分隔的起始和终止字符,如 [a-z]。

be[n-t] 与 "之间 "中的 "bet"、"下面 "中的 "ben "和 "旁边 "中的 "beside "匹配,但不与 "下面 "中的 "bel "匹配。

任何一个不在该组中的字符

[^...]

匹配紧随 ^ 之后的字符集中不包含的任意字符。

be[^n-t] 匹配 "before "中的 "bef"、"behind "中的 "beh "和 "bel "中的 "bel",但不匹配 "bene beneath "中的 "ben"。

或者

|

匹配 OR 符号 (|) 之前或之后的表达式。多用于组中。

(sponge|mud) 匹配 "海绵浴 "和 "泥浴"。

逃逸字符

\

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

\^ 搜索 ^ 字符。

重复 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/ (下载)