陷入正则表达式我不知道是否有可能使用php preg_match_all

i have a file out of which i want a specific data below is the sample data

 moduleHelper.addModule('REC');
  moduleHelper.addModule('TOP');

What i want is

anything.anything('x');i.e.

moduleHelper.addModule('');

The above is what i want to be returned .

i just dont want the 'x' part exclusive of single quote.

i tried by my self and wrote a regex which is below.

/(.*)\.(.*)\(\'[^.*]\'\)/mi

it gives me nothing according to the PCRE manual the ^ inside the [ ] does negation ??

It could be done with preg_replace_callback if you feel like figuring out how all that backreferencing works, but i think this is a bit easier:

// the regex
$regex = "/(?P<FIRST>.+)?\.(?P<SECOND>.+)\('(?P<PARAM>.+)?\'\)?/mi";

$subject = <<<EOB
moduleHelper.addModule('REC');
moduleHelper.addModule('TOP');
EOB;

$matches = array();
$numberOfMatches = preg_match_all($regex, $subject, $matches, PREG_SET_ORDER);


$results = array();
foreach($matches as $match)
{
    array_push($results, sprintf("%s.%s('')", $match['FIRST'], $match['SECOND']));
}

print_r($results);

// result:

Array
(
    [0] => moduleHelper.addModule('')
    [1] => moduleHelper.addModule('')
)

It does do negation. [^.*], in this case, means "get on character that is not . or *. I think you want below, but I can't totally tell.

preg_match_all( "/(\w+\.\w+)(?=\([\"']\w+[\"']\);)/i", $string, $matches);

Try using the following

/^([^.]+)\.([^\(]+)/

If ^ is the first character in [ ] then it negates the other characters in the set. Where [ab] accepts either a or b, [^ab] accepts any character that is not a nor b.

Also I'm not sure what you want. You state that you do not want the 'x', but what exactly do you want?

Try this one:

 /([^.]*)\.([^.]*)\(.*\)/