PHP preg_replace 的 RegEx 交换匹配和匹配多个实例
RegEx for PHP preg_replace swapping matches and matching multiple instances
我正在为 PHP 中的 preg_replace 寻找适用于以下情况的正则表达式:
- 示例字符串
"Bjerre- Jonas, Jorgensen- Silas, Wohlert- Johan, Madsen- Bo"
- 需要的字符串
"Jonas Bjerre, Silas Jorgensen, Johan Wohlert, Bo Madsen"
- 字符串是一个 csv 字段,双引号是括号,是字符串的一部分
- 可能存在任意次数,包括 none - 该示例显然有 4
- 有一个一致的
-
匹配要交换的分离匹配
我是 PHP 和 RegEx 的菜鸟,一直在玩 test arena 之类的东西,结果很糟糕 preg_replace("/^\"(?<=- )/", "" "", $input_lines);
。感谢您的帮助!
([^," -]*)\s*-\s*([^," ]*)
尝试 this.See 演示。
http://regex101.com/r/hI0qP0/20
$re = "/([^\", -]*)\s*-\s*([^,\" ]*)/m";
$str = "\"Bjerre- Jonas, Jorgensen- Silas, Wohlert- Johan, Madsen- Bo\"";
$subst = " ";
$result = preg_replace($re, $subst, $str);
我正在为 PHP 中的 preg_replace 寻找适用于以下情况的正则表达式:
- 示例字符串
"Bjerre- Jonas, Jorgensen- Silas, Wohlert- Johan, Madsen- Bo"
- 需要的字符串
"Jonas Bjerre, Silas Jorgensen, Johan Wohlert, Bo Madsen"
- 字符串是一个 csv 字段,双引号是括号,是字符串的一部分
- 可能存在任意次数,包括 none - 该示例显然有 4
- 有一个一致的
-
匹配要交换的分离匹配
我是 PHP 和 RegEx 的菜鸟,一直在玩 test arena 之类的东西,结果很糟糕 preg_replace("/^\"(?<=- )/", "" "", $input_lines);
。感谢您的帮助!
([^," -]*)\s*-\s*([^," ]*)
尝试 this.See 演示。
http://regex101.com/r/hI0qP0/20
$re = "/([^\", -]*)\s*-\s*([^,\" ]*)/m";
$str = "\"Bjerre- Jonas, Jorgensen- Silas, Wohlert- Johan, Madsen- Bo\"";
$subst = " ";
$result = preg_replace($re, $subst, $str);