我正在尝试使用正则表达式从文件中提取值。
我有 2 个 xml 文件。每个都由许多热点组成,这些热点具有属性 X
和 Y
,(坐标),例如:
<HOTSPOT ID="476" NAME="19.328" MEDIATYPE="url" MEDIA="/flash/hiddenHotspot.png" X="1427" Y="1989" WIDTH="280" HEIGHT="280" ZOOM="83" XSCALE="300" YSCALE="300" URL="/archive/manuscripts/1/decode?detail=476&page=0" URLTARGET="_self" ROLLOVER="0" CAPTION="328" TOOLTIP="">
<TOOLTIP><b>19.328</b>.<br><p class="poem1">In the Year 10 House, on the Day 11 Monkey,</p></TOOLTIP>
</HOTSPOT>
我试图从文件中提取 X 值。我从 grep 开始,但它返回了完整的行。我的正则表达式只是 /X="([0-9]+)"/
。我在 ubuntu 12.04 上。我确信这些内置实用程序之一可以提供帮助,但我一直无法找到哪一个。
有没有一种方法可以使用 linux 实用程序将正则表达式的匹配项打印到标准输出?每场比赛都应该在单独的一行上?有人可以指出我正确的方向吗?泰。
最佳答案
使用 grep -o
使用正则表达式模式 (?<=\bX=")([^"]+)(?=")
关于xml - 使用 linux 实用程序从文件中提取正则表达式。在单独的行上打印每个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429389/