栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

(Java)RegEx从CSS获取URL?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(Java)RegEx从CSS获取URL?

正则表达式的问题在于它们有时过于严格,超出了您的需求。如果您向我们展示了您当前无法正常工作的正则表达式,我将
能够为您提供更多帮助。

第一条评论:浏览器倾向于容忍大多数HTML / CSS错误(不是Javascript,这是一种编程而非标记语言)。

您可以从background(-image)?令牌开始锁定第一部分。如何进行?非常困难…

总是带有冒号,因此可以将其添加到令牌的常量部分,然后根据示例(而非CSS规范)判断可变数量的
空格,后跟url令牌。一个可变数量的空格的是[w]*,这成为我们的正则表达式的一部分。

我用RegexBuddy尝试过

I tried this with RegexBuddy

background(-image)?: url[s]*([s]*(?<url>[^)]*));

Unfortunately, it captures whitespaces inside URLs

Matched text: background-image: url('test/test.gif');Match offset: 0Match length: 39Backreference 1: -imageBackreference 1 offset: 10Backreference 1 length: 6Backreference 2: 'test/test.gif'Backreference 2 offset: 22Backreference 2 length: 15Matched text: background: url   ( test4/ test4.gif );Match offset: 119Match length: 39Backreference 1: Backreference 1 offset: -1Backreference 1 length: 0Backreference 2:  test4/ test4.gif Backreference 2 offset: 138Backreference 2 length: 18

因此,当您获得带有此URL的URL时,必须修剪字符串。从url示例4开始,我无法从组中排除空格,但是,它应该
与其中包含空格的URL匹配,并且在没有%20test4.gif文件的情况下,此示例不正确。

[编辑]我更喜欢以下正则表达式版本

background(-image)?: url[s]*([s]*(?<url>[^)]*)[s]*)[s]*;

It tolerates more whitespaces



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号