当前位置: 首页 > 知识库问答 >
问题:

如何从文件中提取灰色代码

虞承泽
2023-03-14

解析一个超文本标记语言文件。但是我需要排除灰色,我现在为黑色做了,但是灰色有很多变化,如果条件允许我知道如何使用它。

if style.find("color")>=0:
        aux = style[style.find("color"):]
        aux = aux[0:aux.find(";") + 1]
        
        if aux.find('#000000') < 0 and aux.find('black') < 0 and aux.find('#000') < 0: 
            use_raw = '%s%s' % (use_raw, aux)

这就是我如何排除黑色,但在这里我也想排除灰色。

共有2个答案

笪俊迈
2023-03-14

你可以这样做

    for i in ["lightgray", "lightgrey", "silver", "darkgray", "darkgrey",
            "gray", "grey", "dimgray", "dimgrey", "darkslategrey"]:
        if aux.find(i)<0:
            use_raw = '%s%s' % (use_raw, aux)
    for i in range(1,256):
        if aux.find('#%02x%02x%02x'%(i,i,i))<0 and format(i<<16 | i<<8 | i, '06X')<0 and format(i<<16 | i<<8 | i, '06x')<0:
            use_raw = '%s%s' % (use_raw, aux)

您可能可以使代码更小、更高效,但我想这是一个简单的答案。(这确实只包括严格的灰色。它不允许轻微的变化。)

云星波
2023-03-14

您可以使用正则表达式<代码>^#([a-fA-F0-9]{1,2})\1\1$将识别所有6位和3位的灰色十六进制颜色。

所有灰色十六进制颜色代码都有3组2位或3个相同的数字。e、 g.<代码>151515,<代码>1C1C1C,<代码>2E2E2E,<代码>424242,<代码>555,<代码>EEE。。。。。这就是我们如何将它们识别为灰色。

因此,我将使用正则表达式。以下正则表达式将匹配所有以#开头的字符串,并包含3个相同的连续2位字母数字字符集。因此匹配所有灰色。

^#([a-fA-F0-9]{1,2})\1\1$
import re
pattern = re.compile("^#([a-fA-F0-9]{1,2})\1\1$")
pattern.match(aux)

请参阅正则表达式上的Python留档:https://docs.python.org/3/library/re.html

  • http://www.rapidtables.com/web/color/gray-color.htm
  • 如何查找3个或更多连续字符
  • 检查字符串是否与模式匹配
  • http://www.xcprod.com/titan/XCSB-DOC/hex.html
  • Blender对3位十六进制代码的评论
 类似资料:
  • 在我的应用程序中,我下载了Android系统的扩展文件- 我尝试将APK扩展Zip库用作: 但是expansionFile总是空的。这个obb文件是用Jobb创建的,用于文件夹obb/file。拉链

  • 如何从aar文件中提取代码?[意外地,我的主项目在另一个系统上,无法访问,我的邮件中只有aar文件] 我需要从aar文件中提取JNI代码。我试着把分机改成。罐子,但它的提取物。同学们,有人知道如何提取aar吗?

  • 问题内容: 我正在尝试使用提取此 PDF文件中包含的文本。 我正在使用PyPDF2模块,并具有以下脚本: 运行代码时,得到以下输出,该输出与PDF文档中包含的输出不同: 如何提取PDF文档中的文本? 问题答案: 要从PDF提取文本,请使用以下代码

  • 下面的“build.gradle”: 当您运行时: 它产生: 我肯定这一定是可能的,那么你是怎么做到的呢?

  • 问题内容: 我需要在运行时复制一个打包在Jar中的文件夹。我想通过在同样包含在同一文件夹中的类中调用函数来实现。 我试过使用: 但这不起作用。我可能必须递归使用函数。有没有更优雅/前瞻的方式来做到这一点? 万一我必须递归地做它:1.我不想指定硬编码的文件,我想动态地做它2.我不想创建一个单独的档案。我希望此资源与处理该资源的类位于同一个Jar中 谢谢 我最后做了Koziołek的建议。尽管我希望有

  • 问题内容: 如何从Java源文件中提取JavaDoc注释?以及按照我的意愿格式化它们? 问题答案: 有关标准方法,请参见Javadoc工具主页的 Doclets 部分。 Doclet 标准doclet生成HTML,并内置在Javadoc工具中。这里列出了Java软件开发的其他doclet。.. 尤其参见示例- 子类化标准Doclet 和Doclet API 。