我对stackoverflow很新,所以我不知道之前是否曾经问过这个问题,但我似乎无法找到任何暗示答案的过去的问题。任何帮助都非常感谢并提前感谢。
我有这样的文字:
{
1282837200, -- [1]
"Type", -- [2]
"Name", -- [3]
"Reason", -- [4]
Amount, -- [5]
}, -- [1]
{
1282838220, -- [1]
"Type", -- [2]
"Name", -- [3]
"Reason", -- [4]
Amount, -- [5]
}, -- [2]
我需要为其创建正则表达式并提取必要的数据。我理解如何使用PHP中的正则表达式从源文件中提取数据,使用没有“空格”或回车符的源文本。
但我需要帮助创建一个包含此源中包含的空白等的表达式。
答案 0 :(得分:0)
\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
切换触发多行模式。
答案 1 :(得分:0)
如果您只想删除所有空格,请尝试以下操作:
$string = preg_replace('/\s+/s', '', $string);
。
\s+
匹配一个或多个空格,制表符和换行符。 s
中的/s
告诉正则表达式将字符串视为一个整体,而不是一次查看一行。