Difference between revisions of "Regular expression support"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (fixed links)
m (number agreement fix)
 
Line 2: Line 2:
  
  
You can view the exact syntax on this pages:
+
You can view the exact syntax on these pages:
 
[https://msdn.microsoft.com/library/1400241x.aspx]
 
[https://msdn.microsoft.com/library/1400241x.aspx]
 
https://msdn.microsoft.com/library/1400241x.aspx
 
https://msdn.microsoft.com/library/1400241x.aspx

Latest revision as of 15:45, 5 August 2015

WPKG has regular expression support for hosts defined in hosts.xml file.


You can view the exact syntax on these pages: [1] https://msdn.microsoft.com/library/1400241x.aspx

[2] https://msdn.microsoft.com/library/az24scfc.aspx

[3] https://msdn.microsoft.com/library/ae5bf541.aspx

Quick examples:

    <host name="b[0-9]+" profile-id="profile" />

works for: b1, b10, b100 does not work for: bubu, b, x, x1, x10, x100


    <host name=".+" profile-id="profile" />

works for *all* hosts - use with care (!), place at the bottom of hosts.xml


    <host name="b.+" profile-id="profile1" />

works for "b10", "b11", "b12345" etc.


    <host name="b.+" profile-id="profile2" />
    <host name="bronek1" profile-id="profile1" />
    <host name="bron.+" profile-id="profile3" />

Normally, hosts are parsed from top to the bottom, except when the hostname is not a regular expression. So host "bronek1" will match "profile1", even though it also matches "b.+" and "bron.+" (which are regular expressions).


Numeric ranges

Cool page for generating regex numeric ranges is here: http://utilitymill.com/utility/Regex_For_Range/42



Note

The behaviour of regular expressions changed slightly in WPKG 0.9.7.

Previously, a host name:

    <host name="pc" profile-id="profile2" />

would match all hosts that contain "pc" in the name.

Now it matches "pc", and only "pc".

To match "pc001", "pc002", "pcABC", you have to use "pc.+".


The change was introduced to ease the maintenance of hosts.