如何编写正则表达式从指定文件路径提取extractThis1字符串
可用正则表达式
你可以使用以下正则完成提取:/([^/]+)\.q\.ts$/
匹配逻辑说明
[^/]+:匹配所有不为/的连续字符,确保只捕获路径最后一段的文件名主体,不会包含前面的路径层级\.q\.ts$:转义后的.只会匹配字符本身,$限定匹配必须发生在字符串末尾,精准锁定后缀.q.ts- 括号
()为捕获组,匹配后取第一个捕获组的内容即可得到extractThis1
原有正则失效原因
- 开头多写了一个
/,导致正则语法异常,无法正常匹配 - 没有对
.进行转义,.在正则中是通配符,可以匹配任意字符,无法精准匹配后缀 .*为贪婪匹配,会从字符串开头一直匹配到.q.ts之前,会将前面的路径src/insp/custom/也一同匹配,不符合提取需求
代码示例(JavaScript)
const filePath = 'src/insp/custom/extractThis1.q.ts' const matchRes = filePath.match(/([^/]+)\.q\.ts$/) const target = matchRes ? matchRes[1] : '' // 此时target的值为 extractThis1
内容的提问来源于stack exchange,提问作者johny
相关产品推荐
相关产品推荐

