首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换括号内日期的preg_replace_callback

替换括号内日期的preg_replace_callback
EN

Stack Overflow用户
提问于 2020-12-07 09:54:18
回答 1查看 20关注 0票数 0

我正在尝试将括号中的日期替换为一些文本:

ADB (2010-11) (a) -> ADB : newtext (a)

代码语言:javascript
复制
$output = preg_replace_callback('#\(([\d{4}-d{2}][^)]+)\)#', function ($m) {
          
           return " : ". newtext ." ";
        }, $str);

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-07 10:11:56

你不需要preg_replace_callbackpreg_replace就可以实现这个目标。但是,您需要修复您的正则表达式。[]中的所有内容都应该是一个字符列表、由-分隔的范围(例如,a-z表示az之间的ASCII码(非大写)),或者元字符(例如,\d表示数字)。括号被称为字符类,有关它们的更多信息可以在https://www.regular-expressions.info/charclass.html上阅读。

对于你想要的东西,你可以使用:

代码语言:javascript
复制
\(\d{4}-\d{2}\)

并替换为:

代码语言:javascript
复制
: newtext

作为PHP行:

代码语言:javascript
复制
echo preg_replace('/\(\d{4}-\d{2}\)/', ': newtext', 'ADB (2010-11) (a)');

https://3v4l.org/3YKWi

  1. 演示
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65175110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档