用于重新构建自定义模式的正则表达式


Regex for replacaing a custom pattern

我正在寻找一个正则表达式来替换以下模式 [|此示例字符串中的 E14L0]请帮忙

cash|E14L0^7.0,cash|E14L2^7.0,cash|E14L1^7.0,receivables^107.0,cash|E14L3^7.0,

期望的输出是

"cash"^7.0 "cash"^7.0 "cash"^7.0 "receivables"^107.0 "cash"^7.0

要求所有模式 |E{数字}L{数字} 需要替换为 '"'(双引号(两个术语之间的所有','都需要替换为' "'{空格双引号}

感谢您的帮助。

匹配您的模式的正则表达式将是'|E'd+L'd+'^([^,]+),,我相信您会像这样使用它: preg_replace("''|E''d+L''d+''^([^,]+),", "'"$1 '"", target_string) - 请注意模式参数中反斜杠的加倍。

编辑:我错过了关于空格的第二个要求 - 添加。

为此,您需要两种替换模式:

echo preg_replace(['/'|E'd+L'd+/','/'b,'b/'], ['"', ' "'], $str);

结果是:

cash"^7.0 "cash"^7.0 "cash"^7.0 "receivables^107.0 "cash"^7.0,