2013-04-18 34 views
4

我想查找數組中的空字符,這是我的。我試着顯示ASCII值,它打印0(所以我確認它是一個空值)。如何編寫正則表達式來過濾掉這些值。在Perl中使用正則表達式查找空字符

我寫道:

m/^$/ig 

這確實對我沒有幫助。有人知道如何匹配空字符嗎?

+0

有沒有什麼方法在正則表達式中編寫ASCII值來匹配它? –

+1

'使用Data :: Dumper; $ Data :: Dumper :: Useqq = 1;打印Dumper $ yourvariable'會向你顯示隱藏的角色究竟是什麼。 – TLP

+0

$ VAR1 =「」;我得到了這個顯示@TLP –

回答

4

您可以使用\0找到空字符。 (但不要跟着這與另一個數字)

+0

這真的沒有幫助我:( –

+0

你試過它在正則表達式嗎?像'/ \ 0/ims' –

+0

也許它不是一個空字符,它是一個不可見的空白,在這種情況下試試'/ \ p { Z} /' –

-1

0x0應該做的伎倆。

0X [0-9A-F]找到任何十六進制數字

+0

那麼我說這是一個ASCII值0,而不是十六進制值 –

+0

十六進制0x30 == ascii 0.你可以嘗試打印出十六進制字符串的神祕字符? – ChaseTheSun

8

可以使用\x後跟ASCII字符的十六進制代碼到ASCII字符相匹配。

E.g. /\x3F/將匹配「?」,/\x46\x4F\x4F/以匹配「FOO」。

看到它here on Regexr

所以/\x00/將匹配NULL字符。

相關問題