【发布时间】:2013-04-17 10:15:40
【问题描述】:
我正在尝试获取一个字符串,例如:
$search = "Bob Loblaw + Mark Hamill RT45_part12 foo_092344"
并删除所有非字母数字字符,除非下划线位于 RT45_part12 中。
我想要的结果应该是:
“Bob Loblaw Mark Hamill RT45_part12 foo 092344”
preg_replace("/[^A-Za-z0-9_]/", ' ', $search)
查找 RT45_part12 的正则表达式是
\b[a-zA-Z]{2,4}[0-9]{1,5}_part[0-9]{1,5}\b
我不知道如何将这两者结合起来,以便跳过 RT45_part12 中的下划线,而是替换 derrick 之后的下划线。我需要使用前瞻、后瞻功能吗?
【问题讨论】:
标签: php regex preg-replace preg-match