php - 正则表达式从 PHP 中的单词而不是数字中删除正斜杠

标签 php regex

我正在尝试删除 PHP 中分隔单词的正斜杠,但不删除数字。

示例字符串:

"sf/berkeley to paso/slo/sb on 9/25"

我希望我的结果是:

"sf berkeley to paso slo sb on 9/25"

使用 "/([a-z]+)\\/(?=[a-z]+)/" 我能够得到: “9 月 25 日从旧金山伯克利飞往帕索/斯洛/SB”

我的 PHP 代码:

$re = "/([a-z]+)\\/(?=[a-z]+)/";      
$subst = "$1 ";

$result = preg_replace($re, $subst, $str, 1);

感谢任何帮助!

最佳答案

您需要使用断言。

preg_replace('~(?<=[a-z])/(?=[a-z])~i', ' ', $str);

更新:

你的代码可以工作,你只需要删除最后一个1参数,这意味着只替换一次。

$re = "/([a-z]+)\\/(?=[a-z]+)/";      
$subst = "$1 ";

$result = preg_replace($re, $subst, $str);

而且您也不需要在 [a-z] 之后添加 +

DEMO

关于php - 正则表达式从 PHP 中的单词而不是数字中删除正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400956/

相关文章:

php - 优化慢速 SQL 查询

php - 我可以在另一个文件中运行 sql 查询吗?

php - 如何将 eregi 转换为 preg_match?

python - 如何在一个正则表达式下匹配两种模式?

sql - Oracle regexp_substr - 如何提取不包括标记字符的文本

Ruby 全局匹配正则表达式?

php - 二维 JSON 数组转 PHP

php - STR_TO_DATE 函数在 mysql 中返回 null

php - 小型 php 商业级开源项目。建议?

regex - htaccess : remove URL parameter from query string with missing value?