2015-09-25 137 views
-1

我認爲這可能很容易,但我沒有時間學習如何去做。如何使用正則表達式從字符串中提取某個數字?

在HTML文件中,我有一定的階級段,let's說:

<p class="footnote"></p> 

的「P」標籤總是跟着數字,由一個在每種情況下增加。假設第一個數字是「43」。我希望一系列數字從1開始,所以我需要從所有段落中減去42。

例如,我本來想去來自:

<p class="footnote">43. Lorem</p> 
<p class="footnote">44. Ipsum</p>. 
<p class="footnote">45. Dolor</p>. 

<p class="footnote">1. Lorem</p> 
<p class="footnote">2. Ipsum</p>. 
<p class="footnote">3. Dolor</p>. 

我該怎麼辦呢?

+0

來源說,正則表達式不能做數學。 http://stackoverflow.com/questions/5245087/math-operations-in-regex 如果您正在使用InDesign,則需要使用腳本。 – user1754036

回答

0

如果你要尋找的是會處理<p class="footnote">43. Lorem</p>答案是don't parse HTML with regex正則表達式。

假設您已經提取從標籤字符串43. Lorem,並要得到一個數字出來那就要看你的需求:

爲了找到任何數量:\d+

爲了找到任何數量的開始:^\d+

要找到大量隨後一段:\d+\.

更完整的解決方案將需要有關的詳細信息包括您想要使用的編程語言在內的問題。

+0

好吧,我想我必須找到一種替代解決方案。 –

0

使用javascript獲取文本(儘管我將使用jQuery),分割文本,獲取第一個元素,並轉換爲整數。

$(".footnote").each(function(){ 
    var text = $(this).text(); // Get text 
    var num = text.split(/\s+/g)[0]; // Split by whitespace and get the first elem 
    console.log(parseInt(num)); // Convert the elem to an int 
}); 
相關問題