首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex提取最后斜杠和最后一个点之间的文本

使用regex提取最后斜杠和最后一个点之间的文本
EN

Stack Overflow用户
提问于 2022-10-19 23:07:51
回答 3查看 49关注 0票数 3

我在javascript中有这样的字符串

at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/logger.service.ts:107:29)

我想从中提取logger.service。公式介于上一次/到最后一次.之间。

我可以使用/从上一次/([^\/]+$)/g中提取,但不知道如何将查找限制为最后一次.

注:这些是其他例子:

at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/logger.ts:107:29)预期:logger

at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/logger.js:107:29)预期:logger

at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/api.logger.service.ts:107:29)预期:api.logger.service

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-10-19 23:20:47

您可以使用

代码语言:javascript
复制
/.*\/(.*)\./

详细信息

  • .* -除与possible
  • \/一样多的行中断字符以外的任何零或多个字符--a / char
  • (.*) - Group 1:除行中断字符与possible
  • \.一样多的任何零字符或多个字符a . char.

请参阅JavaScript演示:

代码语言:javascript
复制
const text = "at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/api.logger.service.ts:107:29)";
const match = text.match(/.*\/(.*)\./)
if (match) {
    console.log(match[1]);
}

票数 2
EN

Stack Overflow用户

发布于 2022-10-19 23:21:24

我们可以在这里尝试使用regex替换方法:

代码语言:javascript
复制
var log = "at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/api.logger.service.ts:107:29)";
var output = log.replace(/^.*\/|\.[^.]*$/g, "");
console.log(output);

这里的regex模式表示匹配:

  • ^.*\/所有内容从启动到并包括最后一个/
  • | OR
  • \.[^.]*$所有内容从最后一个点到结束

然后,我们用空字符串替换,留下我们想要的字符串。

票数 2
EN

Stack Overflow用户

发布于 2022-10-19 23:17:48

代码语言:javascript
复制
([^\/]+)[.][^:]+:\d+:\d+

演示:https://regex101.com/r/FeLRmi/1

  • [.] => .character
  • [^:] ":"
  • [^:]+ =>除“:”
  • [^:]+ =>以外的任何字符一个或多个[^:]
  • :\d+ =>一个或多个数字后面的":"

所有其他regex语句都是您自己的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74132825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档