smerny Posted April 22, 2011 Share Posted April 22, 2011 I'm trying to efficiently break this apart: boolean com.xxx.xxx.xxx.setValue(int, String, String) so that I store "boolean", "com..xxx.xxx.xxx.setValue" and "int, String, String" me trying to do this would be getting the substr up to the location of the first space, then trying to find the last period, etc.. I don't know regex well but I've seen people do things with regex in ways that seem much more efficient. Any help would be appreciated, thanks. Quote Link to comment Share on other sites More sharing options...
JAY6390 Posted April 22, 2011 Share Posted April 22, 2011 $subject = 'boolean com.xxx.xxx.xxx.setValue(int, String, String)'; if (preg_match('/([^\s]+)\s(com\.[^(]+)\(([^)]+)\)/', $subject, $matches)) { echo 'Group 1: ' . $matches[1] . '<br />'; echo 'Group 2: ' . $matches[2] . '<br />'; echo 'Group 3: ' . $matches[3] . '<br />'; } Output: Group 1: boolean Group 2: com.xxx.xxx.xxx.setValue Group 3: int, String, String Quote Link to comment Share on other sites More sharing options...
smerny Posted April 22, 2011 Author Share Posted April 22, 2011 oh sorry, meant to have this: com.xxx.xxx.xxx.setValue also broken into "com.xxx.xxx.xxx" and "setValue" Quote Link to comment Share on other sites More sharing options...
JAY6390 Posted April 22, 2011 Share Posted April 22, 2011 $subject = 'boolean com.xxx.xxx.xxx.setValue(int, String, String)'; if (preg_match('/([^\s]+)\s(com\.[^(]+)\.([^\.]+)\(([^)]+)\)/', $subject, $matches)) { echo 'Group 1: ' . $matches[1] . '<br />'; echo 'Group 2: ' . $matches[2] . '<br />'; echo 'Group 3: ' . $matches[3] . '<br />'; echo 'Group 4: ' . $matches[4] . '<br />'; } Quote Link to comment Share on other sites More sharing options...
smerny Posted April 22, 2011 Author Share Posted April 22, 2011 thanks, where should i look if i want to learn regex more btw? Quote Link to comment Share on other sites More sharing options...
JAY6390 Posted April 22, 2011 Share Posted April 22, 2011 google There's no real answer, I've learnt from all over tbh Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.