gpt4 book ai didi

css - 如何使用 Perl 获取具有颜色或背景颜色属性的 CSS 元素列表?

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:40 29 4
gpt4 key购买 nike

我今天早些时候问了一个关于 using Perl to search in a CSS document 的问题.从那以后,我稍微完善了我的要求,并且对我要尝试做的事情有了更好的了解。

我正在搜索的文档实际上是一个 .html 文档,在 <head> 中以 CSS 作为样式。 ,如果这有意义的话。

基本上,我需要做的是找到所有具有颜色或背景颜色属性的 CSS 元素,并记录它们。这是我的思考过程。

  1. 打开文件并将其设置为数组
  2. 逐行读取数组,直到遇到“{”
  3. 将所有内容都变成标量变量或数组,直到我到达“}”
  4. 在辅助变量或字符串中搜索“color”blah blah blah 的实例。

我遇到的问题是找到一种方法来搜索文档并将 { 和 } 之间的所有内容转换为某种变量。有人有什么想法吗?

干杯!

最佳答案

无论如何,我都不建议您为此从头开始编写自己的代码。您应该使用解析器。在 CPAN 上快速搜索会显示 this family of modules .另一方面,如果您的 css 位于 html 文件中而不是单独的 css 文件中(您真可耻),那么您最终可能需要不同类型的解析器。

无论哪种方式,尝试从正则表达式中手动推出您自己的准解析器通常都不是一个好主意。使用合适的解析器,并利用其他人的成果。

稍微不同的是,如果您只想从任何类型的文件中提取部分信息,那么在许多情况下您不想先将整个文件放入一个数组中。 (如果文件非常大,它可能会占用大量内存,这是不必要的。)打开文件并在逐行处理文件时轻松处理元素。

#!/usr/bin/env perl
use strict;
use warnings;

open my $fh, '<', 'file-of-interest'
or die "Couldn't open 'file-of-interest': $!";

my @saved_items;

while (my $line = <$fh>) {
# process $line
# push @saved_items, $something
}

# Do more fun stuff with @saved_items

关于css - 如何使用 Perl 获取具有颜色或背景颜色属性的 CSS 元素列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953590/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com