我需要匹配所有这些开始标记:
<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)
但不是这些:
<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)
我想出了这个,并希望确保我做对了.我只抓住了a-z.
<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
给定一个文件,例如:
potato: 1234
apple: 5678
potato: 5432
grape: 4567
banana: 5432
sushi: 56789
Run Code Online (Sandbox Code Playgroud)
我想grep所有开头的行,potato:但只管道后面的数字potato:.所以在上面的例子中,输出将是:
1234
5432
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个项目,我的输入文件曾经是XML.我现在被要求开始使用嵌入式CSS开始处理HTML,并且我希望尽可能简单地完成此操作并尽可能少地进行代码更改.我使用XML :: LibXML来解析XML文件,但现在我们正在转向使用CSS的HTML,我想我需要转向其他东西.也就是说,在我深深陷入愚蠢的决定之前,我可能会后悔,我想在这里问:你们有什么用于这种任务的?
旧XML和新HTML输入文件的结构非常相似,两者都保存相同的信息.HTML使用div代替XML的文本节点,并将样式信息保存在样式标记和属性中,而不是分隔的xml属性.
旧XML的一个示例是:
<text font="TimesNewRoman,BoldItalic" size="11.04" x="59" y="405" w="52"
h="12" bold="yes" italic="yes" cs="4.6" o_bbox="59,405;52,12"
o_size="11.04" o_cs="4.6">
Some text
</text>
Run Code Online (Sandbox Code Playgroud)
新HTML的一个示例是:
<div o="9ka" style="position:absolute;top:145;left:89;x-pdf-top:744;x-pdf-left:60;x-pdf-bottom:732;x-pdf-right:536;">
<span class="ft19" >
Some text
</span></nobr>
</div>
Run Code Online (Sandbox Code Playgroud)
其中"ft19"指的是格式页面顶部的css样式元素:
.ft19{ vertical-align:top;font-size:14px;x-pdf-font-size:14px;
font-family:Times;color:#000000;x-pdf-color:#000000;font-style:italic;
x-pdf-letter-spacing:0.83px;}
Run Code Online (Sandbox Code Playgroud)
基本上,我想要的只是一个解析器,它可以将每个节点的样式元素作为属性读取,所以我可以这样做:
my @texts_arr = $page_node->findnodes('text');
my $test_node = $texts_arr[1];
print "node\'s bold value is: " . $text_node->getAttribute('bold');
Run Code Online (Sandbox Code Playgroud)
因为我可以使用XML.是否有类似的解析HTML?我真的很想确保以正确的方式开始,而不是在CPAN上找到我想要的东西,并在两个月后意识到还有另一个模块对我正在尝试做的更好.
想法?
我需要从此网址获取文件顶部的“快照”值:https : //s3.amazonaws.com/Minecraft.Download/versions/versions.json
所以当我运行命令来解析 json 时,我应该得到一个包含“14w08a”的变量。
我有一个日志文件,其中包含如下几行:
Internal (reserved=1728469KB, committed=1728469KB)
Run Code Online (Sandbox Code Playgroud)
我需要提取包含在“已提交”中的值,所以 1728469 我正在尝试使用 awk
cat file.txt | awk '{print $4}'
Run Code Online (Sandbox Code Playgroud)
然而,这会产生:
committed=1728469KB)
Run Code Online (Sandbox Code Playgroud)
这仍然不完整,仍然需要一些工作。有没有更简单的解决方案来代替?谢谢