[英]How to match whitespace, carriage return and line feed using regular expression in PHP?
[英]How to ignore whitespace and carriage returns within text using regular expressions
我對stackoverflow還是很陌生,所以我不知道是否曾經問過這個問題,但是我似乎找不到任何暗示答案的過去問題。 非常感謝您的任何幫助,並在此先感謝。
我有這段文字:
{
1282837200, -- [1]
"Type", -- [2]
"Name", -- [3]
"Reason", -- [4]
Amount, -- [5]
}, -- [1]
{
1282838220, -- [1]
"Type", -- [2]
"Name", -- [3]
"Reason", -- [4]
Amount, -- [5]
}, -- [2]
我需要為其創建一個正則表達式並提取必要的數據。 我了解如何使用PHP中的正則表達式,使用沒有“空格”或回車符的源文本,從源文件中提取數據。
但是我需要幫助創建包含此源中包含的空格等的表達式。
\\s
是空格的符號,它可能包含也可能不包含換行符,無論如何它們都帶有[\\r\\n]
,請忽略它們,僅此而已。 您還可以說出您到底想做什么,甚至發布您到目前為止擁有的正則表達式,以便在需要時我可以進一步幫助您。
編輯:我只是在猜測,您想要的正則表達式可能是這樣的:
/\s*{[\s\n\r]*^\s*(\d+).*[\s\n\r]*^\s*"([^"]+)".*[\s\n\r]*^\s*"([^"]+)".*[\s\n\r]*^\s*"([^"]+)".*[\s\n\r]*^\s*(\w+).*[\s\n\r]*^\s*},.*[\s\n\r]*^/m
這匹配一個塊,而忽略括號中的數字。 /m
開關觸發多行模式。
如果要刪除所有空格,請嘗試以下操作: $string = preg_replace('/\\s+/s', '', $string);
。
\\s+
匹配一個或多個空格,制表符和換行符。 在s
中/s
告訴正則表達式來看看字符串作為一次不是一條線一個整體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.