用特定字符串替换特定组
Replace certain group by certain string
我想根据字符串的格式用不同的模式替换字符串。例如:
模式 Y-m-d
应替换为 \d{4}-\d{2}-\d{2}
,
m-d-Y
应该是 \d{2}-\d{2}-\d{4}
等等。
我用了 preg_replace()
两次。一个用于替换 \m|d\
,另一个用于替换 \Y\
。
$pattern = preg_replace("/m|d/", "\d{2}", $format);
$pattern = preg_replace("/Y/", "\d{4}", $pattern);
我想知道如何通过单一正则表达式来完成。您的帮助将不胜感激。
谢谢
preg_replace 可以作用于数组:
$pat = array('/m/', '/d/', '/Y/');
$repl = array('\d{2}', '\d{2}', '\d{4}');
$pattern = preg_replace($pat, $repl, $pattern);
我想根据字符串的格式用不同的模式替换字符串。例如:
模式 Y-m-d
应替换为 \d{4}-\d{2}-\d{2}
,
m-d-Y
应该是 \d{2}-\d{2}-\d{4}
等等。
我用了 preg_replace()
两次。一个用于替换 \m|d\
,另一个用于替换 \Y\
。
$pattern = preg_replace("/m|d/", "\d{2}", $format);
$pattern = preg_replace("/Y/", "\d{4}", $pattern);
我想知道如何通过单一正则表达式来完成。您的帮助将不胜感激。
谢谢
preg_replace 可以作用于数组:
$pat = array('/m/', '/d/', '/Y/');
$repl = array('\d{2}', '\d{2}', '\d{4}');
$pattern = preg_replace($pat, $repl, $pattern);