(?: pattern)是非捕获型括号 匹配 pattern ,但不捕获匹配结果。 (pattern )是捕获型括号。 匹配 pattern 匹配 pattern 并捕获结果,自动获取组号 (?<name> pattern ) 匹配 pattern 匹配 pattern 并捕获结果,设置 name 为组名 使用小括号指定一个子表达式后,匹配这个子表达式的文本 ( 也就是此分组捕获的内容 ) 可以在表达式或其它程序中作进一步的处理。默认情况下,每个捕获组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为 1 ,第二个为 2 ,以此类推。 如果正则表达式中同时存在普通捕获组和命名捕获组,那么捕获组的编号就要特别注意,编号的规则是先对普通捕获组进行编号,再对命名捕获组进行编号。 为了避免括号太多使编号混乱,也为了避免无用的捕获提高效率,在不需要捕获只需要指定分组的地方就可以使用非捕获型括号。问题里的非捕获型括号就是为此使用的 (?:  pattern)是非捕获型括号  匹配pattern,但不捕获匹配结果。(pattern )是捕获型括号。  匹配pattern,匹配pattern并捕获结果,自动获取组号(? pattern )  匹配pattern,  匹配pattern并捕获结果,设置name为组名     使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达 一、认识 正则表达式 1、 正则表达式 是描述字符模式的对象, 正则表达式 用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 2、String和RegExp都定义了 使用 正则表达式 进行强大的模式匹配和文本检索与替换的函数。 3、 正则表达式 主要用来验证客户端的输入数据。可以节约大量的服务器端的系统资源,并且提供更好的用户体验。 二、创建 正则表达式 1、字面量。语法:Reg = /pattern/modifiers; 字面量的正则由两个正斜杆组成//,第一个正斜杆后面写规则:/pattern[规则 4. m-n位的数字:^\d{m,n}$ 5. 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 7. 带1-2位小数的正数或负数:^(\-)?\d+(\.... 之前有人提了一个需求,我一看此需求用 正则表达式 最合适不过。考虑到之前每次 使用 正则表达式 ,都是临时抱佛脚,于是这次我就一边完成任务一边系统的学习了一遍 正则表达式 。主要参考PyCon2016上的一个视频Regular Expressions。 我将分几篇文章对 正则表达式 进行总结。 以下是第一部分,基础:  这里总结了 正则表达式 最基础的用法,其中大部分内容对我(以及大部分程序员)来说都是平时经常用到的,所以我就一笔带过了,只对其中的几处用例子说明。       .           除了换行之外的其他所有字符      ^           行首
正则表达式 是一种用于匹配文本模式的工具。根据题目要求,我们要 使用 正则表达式 匹配文件路径。文件路径通常由目录路径和文件名组成。 以下是一个示例的 正则表达式 ,可用于匹配Windows文件路径: ^[a-zA-Z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$ 解析一下这个 正则表达式 : - ^ 表示匹配字符串的开始 - [a-zA-Z] 表示匹配一个字母,它后面跟着一个 冒号 : - \\ 表示匹配一个反斜杠 \ - (?:[^\\/:*?"<>|\r\n]+\\)* 表示匹配零个或多个由非反斜杠、 冒号 、星号、 问号 、双引号、尖括号、竖线、回车或换行符组成的字符,后面紧跟一个反斜杠 \ - [^\\/:*?"<>|\r\n]* 表示匹配零个或多个由非反斜杠、 冒号 、星号、 问号 、双引号、尖括号、竖线、回车或换行符组成的字符 - $ 表示匹配字符串的结束 使用 这个 正则表达式 ,我们可以匹配类似于 C:\Program Files\example.txt 的文件路径。 注意, 正则表达式 的具体形式可能因操作系统和文件系统而异。以上给出的示例是适用于Windows的文件路径。如果要匹配其他操作系统和文件系统的文件路径,可能需要做一些调整。 正则表达式 是用于匹配文本模式的工具,我们可以 使用 正则表达式 来匹配文件路径。对于Windows文件路径,一个示例的 正则表达式 是^[a-zA-Z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$。