我正在尝试使用一个字符串,例如:
$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 之后替换下划线。我需要使用前瞻、后瞻功能吗?