首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex在php中的字符串中插入空格

使用regex在php中的字符串中插入空格
EN

Stack Overflow用户
提问于 2011-09-24 20:10:14
回答 2查看 1.8K关注 0票数 2

我有一个字符串不正确的形式,并试图纠正它。字符串的一个例子是:-

某人(美国)B没有人(美国)

我正试图将其更正为:-

A某人(美国)B没有人(美国)

我使用下面的代码来匹配")“,后面跟着一个大写字母,并使用php的preg_replace函数进行匹配并添加空格。然而,我在regex完全是垃圾,不能得到在正确的地方添加的空间。

代码语言:javascript
复制
$regex = "([\)][A-Z])";
$replacement = ") $0";
    $str = preg_replace($regex, $replacement, $output);

有人能提出更好的方法吗?我意识到这个空间并没有添加correclty,因为$0包含了我正在匹配的数据,有办法操纵$0吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-24 20:31:16

代码语言:javascript
复制
$str = preg_replace('/(?<=\))(?=\p{Lu})/u', ' ', $output);

在结束括号(\))和大写字母(\p{Lu})之间插入一个空格。您不需要$0 (或$1等)因为您只是在两个字符之间插入某个位置,这个正则表达式正好匹配这个(零宽度)位置。看看查找断言

票数 2
EN

Stack Overflow用户

发布于 2011-09-24 20:14:58

regex="(?<=\))[A-Z]"怎么样?

和replacement=" $0"

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

https://stackoverflow.com/questions/7541601

复制
相关文章

相似问题

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