在以SUM开头的行中转换特定关键字后的匹配字符

时间:2011-06-20 08:30:48

标签: regex

在以SUM开头的行中,在某个关键字(在本例中为FOR)之后更改字符时遇到一些困难

示例:

SUM A+b+c TO var FOR D->E='' AND G->H=''

预期结果:

SUM A+b+c To var FOR D:Field("E")='' AND G:Field("H")=''

再次感谢任何帮助/指针。

谢谢,

安迪

1 个答案:

答案 0 :(得分:0)

替换本身可以通过以下方式实现:

<?php

$str = "SUM A+b+c TO var FOR D->E='' AND G->H=''";

print preg_replace('/([A-Z]+)->([A-Z]+)=([^\s]+)/', '\\1:Field("\\2")=\\3', $str);

Example

但是,这不会检查字符串是否以SUM开头。您可以合并一个简单的substr()支票:if (substr($str, 0, 4) === 'SUM ') { ... },请参阅working demo