0

我正在尝试使用正则表达式从文件中提取值。

我有 2 个 xml 文件。每一个都由许多具有属性XY, (坐标)的热点组成,例如:

 <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&amp;page=0" URLTARGET="_self" ROLLOVER="0" CAPTION="328" TOOLTIP="">
    <TOOLTIP>&lt;b&gt;19.328&lt;/b&gt;.&lt;br&gt;&lt;p class="poem1"&gt;In the Year 10 House, on the Day 11 Monkey,&lt;/p&gt;</TOOLTIP>
  </HOTSPOT>

我试图从文件中提取 X 值。我从 grep 开始,但它返回完整的行。我的正则表达式只是/X="([0-9]+)"/. 我在 ubuntu 12.04 上。我确信这些内置实用程序之一可以提供帮助,但我无法找到哪一个。

有没有办法使用 linux 实用程序将我的正则表达式的匹配项打印到标准输出?每场比赛应该在单独的一行?有人可以指出我正确的方向吗?泰。

4

1 回答 1

1

grep -o与正则表达式模式一起使用(?<=\bX=")([^"]+)(?=")

于 2012-09-14T17:42:16.777 回答