在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) 期望结果:
``` at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/logger.js:107:29) 期望结果:
``` at LoggerService.log (/Users/apps/api/webpack:/pcs-goc-api/pcs-libs/logger/src/api.logger.service.ts:107:29) 期望结果:
``` 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
```
^.*\/(\w+\.\w+).*$
- Cjmarkhams.match(/\/([^\/\s]*)\.[^\/\s]*$/)[1]
。或者,更符合您的规则:s.match(/.*\/(.*)\.[^\/.]*$/)[1]
。好吧,甚至/.*\/(.*)\.
也可以工作。 - Wiktor Stribiżew