2013-07-08 90 views
1

匹配MM/DD/YYYY日期字符串我有包含形式MM/DD/YYYYXPath表達式對年份和月份

<table> 
    <tr><td>02/05/2013</td></tr> 
    <tr><td>03/01/2013</td></tr> 
    <tr><td>04/25/2013</td></tr> 
    <tr><td>05/06/2013</td></tr> 
    <tr><td>06/06/2013</td></tr> 
</table> 

我有兩條信息一起工作的日期行的表:

  • MM
  • YYYY

我要匹配相應的行與給定monthyear值。這是保證將有每月最多隻有一個入口,因此要考慮day並不重要。如果在某個時間點需要一天,那麼表達很微不足道,因爲我將擁有所有三條信息。

我使用XPath 1.0所以它似乎並不像我有機會在我的表達式正則表達式。只有月份和年份,獲得適當的行的可靠方法是什麼?例如,如果我想對應於2013年6月該行,我不希望意外匹配05/06/2013

回答

1

我擡頭XPath函數,發現有一個starts-with功能。 這樣一個解決方案,假設我在尋找2013年6月,將

//tr[./td[starts-with(., '06') and contains(., '2013')]]

這將避免與日/月歧義問題,因爲日期總是MM/DD/YYYY

+0

更妙的是,'// TR [ ./td [開始-與(。,'06 /')和含有(。, '/ 2013')]]'。 –

+0

我同意,更具體的可能不會在這種情況下傷害。 – MxyL