【问题标题】:filter a part of an url that goes like image-123-123 regex过滤 URL 的一部分,类似于 image-123-123 正则表达式
【发布时间】:2018-09-26 02:59:12
【问题描述】:

我需要使用 Javascript 在 wordpress 中获取生成的图像大小,网址如下所示:

wp-content/uploads/2018/04/image-300x200.jpg

我只需要获取价值

 300x200

我尝试了一些我发现的正则表达式,但对 REGEX 来说是新手,我似乎无法使其工作。

【问题讨论】:

  • 图像是否总是类似于“image-x.jpg”?
  • 您遇到问题的代码是什么?你的代码有什么问题?您收到错误消息吗?错误信息是什么?你得到的结果不是你期望的结果吗?你期望什么结果,为什么,你得到的结果是什么,两者有什么不同?您正在观察的行为不是期望的行为吗?期望的行为是什么,为什么,观察到的行为是什么,它们有何不同?请提供minimal reproducible example
  • 您能否提供一个精确说明您希望发生的事情,包括任何和所有规则、这些规则的例外情况、极端情况、特殊情况、边界情况和边缘情况?您能否提供示例输入和输出来展示您期望发生的情况,无论是在正常情况下,还是在所有异常情况、极端情况、特殊情况、边界情况和边缘情况下?请同时确保提供minimal reproducible example
  • “我需要获取生成的图像大小”——你可以通过编写一个程序来做到这一点。如果您的程序有问题,请仔细阅读您正在使用的所有方法、类、模块和库的文档,为您的程序编写测试,用笔和纸跟踪执行,在调试器中单步执行,然后睡在上面,从头开始,再睡,然后然后只有这样将您的问题缩小到简洁、集中、简单、简短、可重复的minimal reproducible example 并询问具体的,在Stack Overflow 上集中、狭窄的问题。

标签: javascript regex


【解决方案1】:

只需 \d+x\d+ 或:

\d+x\d+(?=\.jpg)

这使用前瞻 (?=) 来匹配出现在 .jpg 之前的每个 \d+x\d+

【讨论】:

    【解决方案2】:

    使用这个:

    /(\d+?x\d+?)\./
    

    根据格式NumbersxNumbers.

    console.log('wp-content/uploads/2018/04/image-300x200.jpg'.match(/(\d+?x\d+?)\./)[1])

    【讨论】:

    • 是的,“image”是一个生成的名称,并不总是“image”
    猜你喜欢
    • 2018-05-18
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多