簡體   English   中英

如何使用正則表達式忽略文本內的空格和回車符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM