C.81 ReplaceRegexpTask

Replaces the occurrences of a given regular expression with a substitution pattern in a selected file or set of files.

Table C.110: 

fileStringFile to apply regular expression onn/aYes (or fileset)
matchStringRegular expression match patternn/aYes (or pattern)
patternStringRegular expression match patternn/aYes
replaceStringThe replacement stringn/aYes

C.81.1 Supported Nested Tags

1 PropertySelector

Selects property names that match a given regular expression and returns them in a delimited list

Table C.111: Attributes

propertyStringThe name of the property to set.n/aYes
overrideBooleanIf the property is already set, should we change it's value. Can be true or falsefalseNo
matchStringThe regular expression which is used to select property names for inclusion in the list. This follows the standard regular expression syntax accepted by phing's regular expression tasks.n/aYes
selectStringA pattern which indicates what selection pattern you want in the returned list. This used the substitution pattern syntax to indicate where to insert groupings created as a result of the regular expression match.\0No
casesensitiveStringShould the match be case sensitive.trueNo
replaceStringA regular expression substitition pattern, which will be used to replace the given regular expression in the subject.n/aYes (unless a match is specified)
casesensitiveBooleanShould the match be case sensitivetrueNo
delimiterStringThe delimiter used to separate entries in the resulting property,No
distinctBooleanShould the returned entries be a distinct set (no duplicate entries).falseNo

1.1 Select expressions

Expressions are matched in a the same syntax as a regular expression substitution pattern.

  • $0 indicates the entire property name (default).

  • $1 indicates the first grouping

  • $2 indicates the second grouping

  • etc...

1.2 Example

<property name="package.ABC.name" value="abc pack name" />
                    <property name="package.DEF.name" value="def pack name" />
                    <property name="package.GHI.name" value="ghi pack name" />
                    <property name="package.JKL.name" value="jkl pack name" />

                    <propertyselector property="pack.list"
                                      casesensitive="false" />