我有這個字符串,它有一年的中間。 我想提取一年之前和之後的所有內容。php正則表達式所有前後年份
我用下面的正則表達式個人:
- 提取物日期:
'/\d{4}\b/'
- 日之前提取的一切:
'/(.*?)\d{4}\b/';
(我不知道如何從結果中不包括日期,但是這不是一個問題...) - 日之後提取的一切:
'/d{4}\/(.*?)\b/'
(這個人是不工作)
我有這個字符串,它有一年的中間。 我想提取一年之前和之後的所有內容。php正則表達式所有前後年份
我用下面的正則表達式個人:
'/\d{4}\b/'
'/(.*?)\d{4}\b/';
(我不知道如何從結果中不包括日期,但是這不是一個問題...)'/d{4}\/(.*?)\b/'
(這個人是不工作)$str = 'The year is 2048, and there are flying forks.';
$regex = '/(.*)\b\d{4}\b(.*)/';
preg_match($regex,$str,$matches);
$before = isset($matches[1])?$matches[1]:'';
$after = isset($matches[2])?$matches[2]:'';
echo $before.$after;
編輯:要回答在具有多年OP的(Luis的)評論:
$str = 'The year is 2048 and there are 4096 flying forks from 1999.';
$regex = '/(\b\d{4}\b)/';
$split = preg_split($regex,$str,-1,PREG_SPLIT_DELIM_CAPTURE);
print_r($split);
$split
提供了一個陣列,如:
Array
(
[0] => The year is
[1] => 2048
[2] => and there are
[3] => 4096
[4] => flying forks from
[5] => 1999
[6] => .
)
這二次例子也說明涉及假設風險在可分析數據上(注意在4096處的分支數量與4位數年份中的數量匹配)。
你應該提供一些例子,你有什麼作爲輸入,結果應該是什麼樣的等等。 – 2013-02-25 11:51:50
試試這個/\d{4}(.*)\b/你在「d」之前離開「\」 – sanj 2013-02-25 11:55:04