diff options
Diffstat (limited to 'buildscripts/phing/classes/phing/util/regexp')
3 files changed, 0 insertions, 347 deletions
diff --git a/buildscripts/phing/classes/phing/util/regexp/PregEngine.php b/buildscripts/phing/classes/phing/util/regexp/PregEngine.php deleted file mode 100644 index 758b40f3..00000000 --- a/buildscripts/phing/classes/phing/util/regexp/PregEngine.php +++ /dev/null @@ -1,105 +0,0 @@ -<?php -/* - * $Id: PregEngine.php,v 1.6 2003/12/24 12:38:42 hlellelid Exp $ - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This software consists of voluntary contributions made by many individuals - * and is licensed under the LGPL. For more information please see - * <http://phing.info>. - */ - -require_once 'phing/util/regexp/RegexpEngine.php'; - -/** - * PREG Regexp Engine. - * Implements a regexp engine using PHP's preg_match(), preg_match_all(), and preg_replace() functions. - * - * @author hans lellelid, hans@velum.net - * @package phing.util.regex - */ -class PregEngine implements RegexpEngine { - - /** - * @var boolean - */ - private $ignoreCase = false; - - /** - * Sets whether or not regex operation is case sensitive. - * @param boolean $bit - * @return void - */ - function setIgnoreCase($bit) { - $this->ignoreCase = (boolean) $bit; - } - - /** - * Gets whether or not regex operation is case sensitive. - * @return boolean - */ - function getIgnoreCase() { - return $this->ignoreCase; - } - - /** - * The pattern needs to be converted into PREG style -- which includes adding expression delims & any flags, etc. - * @param string $pattern - * @return string prepared pattern. - */ - private function preparePattern($pattern) - { - return '/'.$pattern.'/'.($this->ignoreCase ? 'i' : ''); - } - - /** - * Matches pattern against source string and sets the matches array. - * @param string $pattern The regex pattern to match. - * @param string $source The source string. - * @param array $matches The array in which to store matches. - * @return boolean Success of matching operation. - */ - function match($pattern, $source, &$matches) { - return preg_match($this->preparePattern($pattern), $source, $matches); - } - - /** - * Matches all patterns in source string and sets the matches array. - * @param string $pattern The regex pattern to match. - * @param string $source The source string. - * @param array $matches The array in which to store matches. - * @return boolean Success of matching operation. - */ - function matchAll($pattern, $source, &$matches) { - return preg_match_all($this->preparePattern($pattern), $source, $matches); - } - - /** - * Replaces $pattern with $replace in $source string. - * References to \1 group matches will be replaced with more preg-friendly - * $1. - * @param string $pattern The regex pattern to match. - * @param string $replace The string with which to replace matches. - * @param string $source The source string. - * @return string The replaced source string. - */ - function replace($pattern, $replace, $source) { - // convert \1 -> $1, because we want to use the more generic \1 in the XML - // but PREG prefers $1 syntax. - $replace = preg_replace('/[^\\\]\\\(\d+)/', '$1', $replace); - return preg_replace($this->preparePattern($pattern), $replace, $source); - } - -} - -?>
\ No newline at end of file diff --git a/buildscripts/phing/classes/phing/util/regexp/Regexp.php b/buildscripts/phing/classes/phing/util/regexp/Regexp.php deleted file mode 100644 index 68c06668..00000000 --- a/buildscripts/phing/classes/phing/util/regexp/Regexp.php +++ /dev/null @@ -1,168 +0,0 @@ -<?php -/* - * $Id: Regexp.php,v 1.5 2003/12/24 18:40:33 hlellelid Exp $ - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This software consists of voluntary contributions made by many individuals - * and is licensed under the LGPL. For more information please see - * <http://phing.info>. - */ - -/** - * A factory class for regex functions. - * @author Hans Lellelid <hans@xmpl.org> - * @package phing.util.regexp - * @version $Revision: 1.5 $ - */ -class Regexp { - - /** - * Matching groups found. - * @var array - */ - private $groups = array(); - - /** - * Pattern to match. - * @var string - */ - private $pattern; - - /** - * Replacement pattern. - * @var string - */ - private $replace; - - /** - * The regex engine -- e.g. 'preg' or 'ereg'; - * @var RegexpEngine - */ - private $engine; - - /** - * Constructor sets the regex engine to use (preg by default). - * @param string $_engineType The regex engine to use. - */ - function __construct($engineType='preg') { - if ($engineType == 'preg') { - include_once 'phing/util/regexp/PregEngine.php'; - $this->engine = new PregEngine(); - } elseif ($engineType == 'ereg') { - include_once 'phing/util/regexp/EregEngine.php'; - $this->engine = new EregEngine(); - } else { - throw new BuildException("Invalid engine type for Regexp: " . $engineType); - } - } - - /** - * Sets pattern to use for matching. - * @param string $pat The pattern to match on. - * @return void - */ - public function setPattern($pat) { - $this->pattern = (string) $pat; - } - - - /** - * Gets pattern to use for matching. - * @return string The pattern to match on. - */ - public function getPattern() { - return $this->pattern; - } - - /** - * Sets replacement string. - * @param string $rep The pattern to replace matches with. - * @return void - */ - public function setReplace($rep) { - $this->replace = (string) $rep; - } - - /** - * Gets replacement string. - * @return string The pattern to replace matches with. - * @return void - */ - public function getReplace() { - return $this->replace; - } - - /** - * Performs match of specified pattern against $subject. - * @param string $subject The subject, on which to perform matches. - * @return boolean Whether or not pattern matches subject string passed. - */ - public function matches($subject) { - if($this->pattern === null) { - throw new Exception("No pattern specified for regexp match()."); - } - return $this->engine->match($this->pattern, $subject, $this->groups); - } - - /** - * Performs replacement of specified pattern and replacement strings. - * @param string $subject Text on which to perform replacement. - * @return string subject after replacement has been performed. - */ - public function replace($subject) { - if ($this->pattern === null || $this->replace === null) { - throw new Exception("Missing pattern or replacement string regexp replace()."); - } - return $this->engine->replace($this->pattern, $this->replace, $subject); - } - - /** - * Get array of matched groups. - * @return array Matched groups - */ - function getGroups() { - return $this->groups; - } - - /** - * Get specific matched group. - * @param integer $idx - * @return string specified group or NULL if group is not set. - */ - function getGroup($idx) { - if (!isset($this->groups[$idx])) { - return null; - } - return $this->groups[$idx]; - } - - /** - * Sets whether the regexp matching is case insensitive. - * (default is false -- i.e. case sensisitive) - * @param boolean $bit - */ - function setIgnoreCase($bit) { - $this->engine->setIgnoreCase($bit); - } - - /** - * Gets whether the regexp matching is case insensitive. - * @return boolean - */ - function getIgnoreCase() { - return $this->engine->getIgnoreCase(); - } -} - -?>
\ No newline at end of file diff --git a/buildscripts/phing/classes/phing/util/regexp/RegexpEngine.php b/buildscripts/phing/classes/phing/util/regexp/RegexpEngine.php deleted file mode 100644 index 7d323466..00000000 --- a/buildscripts/phing/classes/phing/util/regexp/RegexpEngine.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php -/* - * $Id: RegexpEngine.php,v 1.4 2003/12/24 12:38:42 hlellelid Exp $ - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This software consists of voluntary contributions made by many individuals - * and is licensed under the LGPL. For more information please see - * <http://phing.info>. - */ - -/** - * Contains some shared attributes and methods -- and some abstract methods with - * engine-specific implementations that sub-classes must override. - * - * @author Hans Lellelid <hans@velum.net> - * @package phing.util.regex - * @version $Revision: 1.4 $ - */ -interface RegexpEngine { - - /** - * Sets whether or not regex operation should ingore case. - * @param boolean $bit - * @return void - */ - public function setIgnoreCase($bit); - - /** - * Returns status of ignore case flag. - * @return boolean - */ - public function getIgnoreCase(); - - /** - * Matches pattern against source string and sets the matches array. - * @param string $pattern The regex pattern to match. - * @param string $source The source string. - * @param array $matches The array in which to store matches. - * @return boolean Success of matching operation. - */ - function match($pattern, $source, &$matches); - - /** - * Matches all patterns in source string and sets the matches array. - * @param string $pattern The regex pattern to match. - * @param string $source The source string. - * @param array $matches The array in which to store matches. - * @return boolean Success of matching operation. - */ - function matchAll($pattern, $source, &$matches); - - /** - * Replaces $pattern with $replace in $source string. - * @param string $pattern The regex pattern to match. - * @param string $replace The string with which to replace matches. - * @param string $source The source string. - * @return string The replaced source string. - */ - function replace($pattern, $replace, $source); - -} - -?>
\ No newline at end of file |