繁体   English   中英

正则表达式从字符串PHP中删除year

[英]Regex to remove year from a string PHP

我已经创建了香烟和交易卡的数据库。 每个设置标题都有与之关联的年份。 例如19432011 年份始终为4个字符,但可以在字符串中的任何位置。

有人可以帮我创建一个可在字符串中查找年份的正则表达式。 我尝试了'/d{4}\\b/'但是失败了。

(19|20)[0-9][0-9]

这将仅在1900年和2000年的范围内显示。

试试这个:

/\b\d{4}\b/

它将匹配嵌入非单词的4位数字

这是一个完整的解决方案:

$stringWithYear = '1990 New York Marathon';
$stringNoYear = preg_replace('/(19|20)[0-9][0-9]/', '', $stringWithYear);
echo trim($stringNoYear);  // outputs 'New York Marathon'

d{4}\\b将在单词边界匹配四个d 您忘记了字符类中的反斜杠:应该为\\d{4}\\b 根据输入数据,您可能还需要考虑在开头添加另一个单词边界( \\b )。

preg_match(“ / ^ 1 [0-9] {3} $ /”,$ value))也是如此。

仅从1开始检查年份。您可以根据需要进行更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM