请帮助优化这个正则表达式
Please help to optimize this regex
输入:
+ 1220 001d.a16a.9400 dynamic 0 F F Po10
* 1220 0021.f60f.4127 dynamic 0 F F Eth1/46
表达式:
\S+\s+(\d+)\s+([0-9A-Fa-f]{4}[.][0-9A-Fa-f]{4}[.][0-9A-Fa-f]{4})\s+\w+\s+\d+\s+\w+\s+\w+\s+(.*)
替换:
\t\t
输出:
1220 001d.a16a.9400 Po10
1220 0021.f60f.4127 Eth1/46
如果你的意思是缩短 "optimize",试试这个:
表达式:
^.+?(\d+)\s+([^\s]+?)\s.+?([^\s]+)$
替换:
\t\t
也许您必须使用 /m(多行)和 /s(点匹配任何字符)开关。
PHP-示例:
<?php
$sourcestring="+ 1220 001d.a16a.9400 dynamic 0 F F Po10";
echo preg_replace('/^.+?(\d+)\s+([^\s]+?)\s.+?([^\s]+)$/ms','\t\t',$sourcestring);
?>
输入:
+ 1220 001d.a16a.9400 dynamic 0 F F Po10
* 1220 0021.f60f.4127 dynamic 0 F F Eth1/46
表达式:
\S+\s+(\d+)\s+([0-9A-Fa-f]{4}[.][0-9A-Fa-f]{4}[.][0-9A-Fa-f]{4})\s+\w+\s+\d+\s+\w+\s+\w+\s+(.*)
替换:
\t\t
输出:
1220 001d.a16a.9400 Po10
1220 0021.f60f.4127 Eth1/46
如果你的意思是缩短 "optimize",试试这个:
表达式:
^.+?(\d+)\s+([^\s]+?)\s.+?([^\s]+)$
替换:
\t\t
也许您必须使用 /m(多行)和 /s(点匹配任何字符)开关。
PHP-示例:
<?php
$sourcestring="+ 1220 001d.a16a.9400 dynamic 0 F F Po10";
echo preg_replace('/^.+?(\d+)\s+([^\s]+?)\s.+?([^\s]+)$/ms','\t\t',$sourcestring);
?>