2016-03-27 60 views
0

我需要一個正則表達式,如([.\n]*),但這不起作用。我曾嘗試s修改也...任何字符的正則表達式,包括Perl中的新行

我想從一個表和正則表達式,在少數情況下工作數據是:

~m/>(@ARGV)<\/.*\n(<td.*\n*.*\/td>\n){3}<td(.*\n*.*\n*)<\/td>/ 

我需要使用$3,但換行符的數量沒有定義,我不知道如何解決這個問題。有人可以幫幫我嗎?

+0

了'.'任何字符用'/ s'修改匹配。不是'[。\ n]'匹配一個點和一個換行符。 –

+2

不要使用正則表達式來解析HTML/XML。這就是瘋狂和極端代碼的脆弱性。使用真正的HTML/XML解析器來提取您想要的數據。 –

+0

謝謝你的答案。還有一個問題......我需要編寫160個字符的最大長度的代碼,如果我使用解析器來提取我需要的數據,你認爲是可能的嗎? – kata

回答

1

我沒有在您的測試字符串中找到和@ARGV。所以,我做了另一種模式:

<td>((?:<span.*\n*){3})</td> 

REGEX 101 DEMO.

+0

謝謝,但問題是,我不知道確切的換行符的數量,它可以是0或更多。我也嘗試寫*和{0,},而不是像你那樣寫{7}。 [這裏是示例數據](https://regex101.com/r/vH9tY4/3) – kata

+0

現在捕獲組在$ 1。可以嗎? – Quinn

+0

我使用了原始版本的一部分,現在可以了,謝謝。 – kata

相關問題