[英]regex to match a multi-line string
对不起,这个名字不好用。 我正在寻找一个有效的正则表达式来匹配以下内容:
[2014-11-13 13:05:04] [path/to/class.instagram.php] Options: array (
'client_id' => '',
'client_secret' => '',
'object' => 'tag',
'object_id' => 'rwar',
'aspect' => 'media',
'callback_url' => 'http://www.localthisday.nl/instagram.callback.php',
)
我希望将其拆分成这样:
1. [2014-11-13 13:05:04]
2.[path/to/class.instagram.php]
3. Options: array (
'client_id' => '',
'client_secret' => '',
'object' => 'tag',
'object_id' => 'rwar',
'aspect' => 'media',
'callback_url' => 'http://www.localthisday.nl/instagram.callback.php',
)
我目前正在使用这个:
(\\[(.*)\\])(\\s{1})(\\[(.*)\\])(\\s{1})(.*)/gmi
我知道,这不是很好,这可能就是为什么它无法按我希望的方式工作的原因。 问题是; 它是多行字符串,由于某种原因,它不能用于多行。 有人可以帮我吗? 不幸的是,我的正则表达式不好。
使用非贪婪量词:
(\[.*?\])\s(\[.*?\])\s(.*)/gmi
(\]|\))
试试这个,用$1\\n
代替,看演示。
http://regex101.com/r/pQ9bV3/32
var re = /(\]|\))/gm;
var str = '[2014-11-13 13:05:04] [path/to/class.instagram.php] Options: array (\n \'client_id\' => \'\',\n \'client_secret\' => \'\',\n \'object\' => \'tag\',\n \'object_id\' => \'rwar\',\n \'aspect\' => \'media\',\n \'callback_url\' => \'http://www.localthisday.nl/instagram.callback.php\',\n)';
var subst = '$1\n';
var result = str.replace(re, subst);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.