首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regex:在string 'styles/customer.1031.css‘中匹配“customer”

regex:在string 'styles/customer.1031.css‘中匹配“customer”
EN

Stack Overflow用户
提问于 2016-06-10 11:52:19
回答 3查看 55关注 0票数 2

我正在尝试从nodejs中的文件路径中提取客户字符串。到目前为止,我想出了如下结论:

代码语言:javascript
复制
var fileName = 'styles/customer.1031.css';
fileName = fileName.substring(7);
fileName = fileName.substring(0, fileName.length - 4);
fileName = fileName.match('[a-z]*')[0];
console.log(fileName); // <-- yields 'customer'

我从一开始就切断了styles/,从末尾开始削减了.css。那么我只匹配小写字符。什么是只匹配客户字符串的正确的正则表达式,这样我以前就不需要剪断字符串了?F.前任在styles/之后,在.之前,正则表达式会是什么样子?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-10 12:02:12

要使用的正则表达式可能类似于^styles/([^.]+)\..*$

  • ^styles/翻译为“以‘样式/’开头
  • 然后匹配(至少有一个字符,匹配到第一个'.')
  • 然后是字面上的“。”
  • 直到字符串结束为止(这是可选的,取决于您的需要)。
票数 1
EN

Stack Overflow用户

发布于 2016-06-10 12:02:26

regex在样式/直到.之后捕获所有内容会是什么样子?

如下所示:

styles\/(.*?)\.

Regex101上运行它

然后可以通过\1访问捕获的字符串。

票数 1
EN

Stack Overflow用户

发布于 2016-06-10 12:35:52

可以使用非捕获组regex作为(?:styles\/)(.*?)\.

代码语言:javascript
复制
var fileName = 'styles/customer.1031.css';
console.log(/(?:styles\/)(.*?)\./.exec(fileName)[1])

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

https://stackoverflow.com/questions/37747608

复制
相关文章

相似问题

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