/usr/share/augeas/lenses/dist/rx.aug is in augeas-lenses 0.10.0-0ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | (*
Module: Rx
Generic regexps to build lenses
Author: Raphael Pinson <raphink@gmail.com>
About: License
This file is licensed under the LGPLv2+, like the rest of Augeas.
*)
module Rx =
(* Group: Spaces *)
(* Variable: space
A mandatory space or tab *)
let space = /[ \t]+/
(* Variable: opt_space
An optional space or tab *)
let opt_space = /[ \t]*/
(* Group: General strings *)
(* Variable: space_in
A string which not starting or ending with a space *)
let space_in = /[^ \t\n].*[^ \t\n]|[^ \t\n]/
(* Variable: no_spaces
A string with no spaces *)
let no_spaces = /[^ \t\n]+/
(* Variable: word
An alphanumeric string *)
let word = /[A-Za-z0-9_.-]+/
(* Variable: integer
One or more digits *)
let integer = /[0-9]+/
(* Variable: integer
A relative <integer> *)
let relinteger = /-?[0-9]+/
(* Variable: decimal
A decimal value (using ',' or '.' as a separator) *)
let decimal = /[0-9]+([.,][0-9]+)?/
(* Variable: fspath
A filesystem path *)
let fspath = /[^ \t\n]+/
(* Group: All but... *)
(* Variable: neg1
Anything but a space, a comma or a comment sign *)
let neg1 = /[^,# \n\t]+/
(*
* Group: IPs
* Cf. http://blog.mes-stats.fr/2008/10/09/regex-ipv4-et-ipv6/ (in fr)
*)
(* Variable: ipv4 *)
let ipv4 =
let dot = "." in
let digits = /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/ in
digits . dot . digits . dot . digits . dot . digits
(* Variable: ipv6 *)
let ipv6 =
/(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})/
| /(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})/
| /(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})/
| /(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})/
| /(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})/
| /(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})/
| ( /([0-9A-Fa-f]{1,4}:){6}/
. /((((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))\.){3}/
. /(((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))/
)
| ( /([0-9A-Fa-f]{1,4}:){0,5}:/
. /((((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))\.){3}/
. /(((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))/
)
| ( /::([0-9A-Fa-f]{1,4}:){0,5}/
. /((((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))\.){3}/
. /(((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))/
)
| ( /[0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}/
. /[0-9A-Fa-f]{1,4}/
)
| /(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})/
| /(([0-9A-Fa-f]{1,4}:){1,7}:)/
(* Variable: ip
An <ipv4> or <ipv6> *)
let ip = ipv4 | ipv6
(*
* Variable: device_name
* A Linux device name like eth0 or i2c-0. Might still be too restrictive
*)
let device_name = /[a-zA-Z0-9_?.+:!-]+/
(*
* Variable: email_addr
* To be refined
*)
let email_addr = /[A-Za-z0-9_+.-]+@[A-Za-z0-9_.-]+/
|