【发布时间】:2016-04-16 08:57:32
【问题描述】:
你好,这是我的字符串
data {'1' => 'anything', '2' => '5', '3' => 'anything'}
data {'1' => 'anything', '2' => '5', '3' => 'anything', '7' => 'anything'}
data {'1' => 'anything', '2' => '6', '3' => 'anything'}
data {'1' => 'anything', '5' => 'anything', '2' => '5', '3' => 'anything'}
我想使用正则表达式并获取其中存在'2' => '5' 的每一行。
这样的
数据 {之前的所有内容 ('2' => '5') 之后的所有内容}
我的问题是如何在我想要的 ('2' => '5') 之前和之后传递所有存在的东西?
这是我的正则表达式。请修复它
data\h*[{](what should i use here to pass everything exists before)[']2[']\h*[=][>]\h*[']5['](what should i use here to pass everything exists after)[}]
只要得到这行
data {'1' => 'anything', '2' => '5', '3' => 'anything'}
data {'1' => 'anything', '2' => '5', '3' => 'anything', '7' => 'anything'}
data {'1' => 'anything', '5' => 'anything', '2' => '5', '3' => 'anything'}
请修正我的正则表达式
感谢您的回答,但还有另一个问题.. 如果我的字符串是
data {'1' => 'anything
anynew line inside of 1', '2' => '5', '3' => 'anything'}
data {'1' => 'anything', '2' => '5', '3' => 'anything', '7' => 'anything'}
data {'1' => 'anything', '2' => '6', '3' => 'anything'}
data {'1' => 'anything', '5' => 'anything', '2' => '5', '3' => 'anything'}
(我在行中使用新行和'' 内的所有其他内容)它不会得到该行!!!!!!!!!!!!!我该怎么办? .* 每行中有几行时不起作用 我需要在前后获取所有内容(包括行和...)!!!
【问题讨论】:
-
但是,如果有多个
'2'='5'会怎样? -
试试这个
.*'2' => '5'.* -
Just get this lines- 这些是唯一带有 2=>5 的行 -
这有一些奇怪的
PHP-array-functions-builtin-odour... -
@nerdlyist - 正则表达式非常适合这个。一个多行的字符串?覆盖
.*。嵌入文字,覆盖。正则表达式是最好的解决方案。