You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Regex和JavaScript获取最后一个点号后的字符串

使用正则表达式和JavaScript获取字符串最后一个点号后的内容

你的示例代码存在两处问题:一是replace方法缺少替换目标参数,二是正则表达式以字符串形式传入无法被解析。下面提供几种可靠的实现方式:

方法一:用match结合正则捕获目标内容

通过正则捕获最后一个点号后的字符,是最直接的正则实现方式:

const yeah = 'SampleLibrary/21.0/Best.colour'
// 匹配最后一个点号及之前的内容,捕获点号后的部分
const matchResult = yeah.match(/\.([^.]+)$/)
// 处理无点号的边界情况,避免报错
const result = matchResult ? matchResult[1] : ''
console.log(result) // 输出: colour

正则说明:

  • \.:转义匹配点号(点号在正则中是通配符,需转义)
  • ([^.]+):捕获组,匹配一个或多个非点号字符
  • $:锚定字符串结尾,确保匹配的是最后一个点号后的内容

方法二:用split分割字符串(非正则方式)

如果不想用正则,也可以通过字符串分割实现:

const yeah = 'SampleLibrary/21.0/Best.colour'
const parts = yeah.split('.')
const result = parts.pop()
console.log(result) // 输出: colour

说明:split('.')会把字符串按点号拆分为数组,pop()直接取数组最后一个元素,就是最后一个点号后的内容。若字符串末尾是点号,会返回空字符串。

方法三:修正原replace的用法

如果想保留原代码的replace思路,可调整正则匹配前面的所有内容并替换为空:

const yeah = 'SampleLibrary/21.0/Best.colour'
// 匹配从开头到最后一个点号的所有内容,替换为空
const result = yeah.replace(/^.*\./, '')
console.log(result) // 输出: colour

正则说明:

  • ^.*\.:匹配从字符串开头到最后一个点号的所有内容(.*匹配任意字符,\.匹配最后一个点号)
  • 替换为空后,剩余的就是目标内容

内容的提问来源于stack exchange,提问作者Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:05:51