Re: POSIX Regexp question

Pascal Bourguignon <[email protected]> Sun, 25 Apr 2021 15:56:36 +0200
Newsgroups gmane.lisp.clisp.general
Message-ID <[email protected]>
TGUgMjMvMDQvMjAyMSDDoCAyMTo1NSwgRGFuIFN0YW5nZXIgYSDDqWNyaXTCoDoKPiBIZWxsbyBB
bGwsCj4gV2hlbiBleGVjdXRpbmcgKHR5cGUtb2YgKHJlZ2V4cDpyZWdleHAtY29tcGlsZSAiJWQi
KSkgRk9SRUlHTi1QT0lOVEVSIGlzCj4gcmV0dXJuZWQuCj4gSXMgdGhlcmUgYSB3YXkgdG8gZ2V0
IHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyLCBzbyBJIGNhbiBjb25maXJtIHRoYXQgYQo+IGNvbXBp
bGVkIHJlZ2V4cCBpcyBwb2ludGVkIHRvLCByYXRoZXIgdGhhbiBzb21ldGhpbmcgZWxzZT8KCgpO
bywgdGhlcmUncyBubyB3YXkuICByZWdleHAgaXMgYSBtb2R1bGUgdXNpbmcgdGhlIEMgbGlicmVn
ZXggbGlicmFyeSwgCmFuZCB0aGlzIGxpYnJhcnkgdXNlcyBhIEMgcG9pbnRlci4gIFRoZXJlJ3Mg
bm8gdHlwZSB0YWcsIGFuZCBubyB0eXBlIApyZWFsbHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBwb2lu
dGVyIGF0IHJ1bi10aW1lLiBJdCdzIGp1c3QgYW4gYWRkcmVzcy4gCllvdSBoYXZlIHRvIGtub3cg
d2hhdCBpcyBwb2ludGVkIHRvLCB3aGVuIHlvdSB3YW50IHRvIGRlcmVmZXJlbmNlIHRoZSAKcG9p
bnRlciAob3Igd2hhdCBmdW5jdGlvbiB5b3UgY2FuIHBhc3MgaXQgdG8sIHdoZW4gaXQncyBhbiBv
cGFxdWUgcG9pbnRlcikuCgpOb3csIHlvdSBoYXZlIHR3byBjaG9pY2U6CgoxLSBkb24ndCB1c2Ug
QyBsaWJyYXJpZXMsIGRvbid0IHVzZSBGRkkuICBJbnN0ZWFkLCB1c2UgbGlzcCBsaWJyYXJpZXMs
IAppbXBsZW1lbnRlZCBpbiBsaXNwLiAgRm9yIGV4YW1wbGUsIHVzZSBjbC1wcGNyZSBpbnN0ZWFk
IG9mIHJlZ2V4cC4gIE9uZSAKYm9udXMgYWR2YW50YWdlIGlzIHRoYXQgaXQgbWFrZXMgeW91ciBj
b2RlIHBvcnRhYmxlIHRvIG90aGVyIENMIAppbXBsZW1lbnRhdGlvbnMgKHJlZ2V4cCBpcyBhIGNs
aXNwIHNwZWNpZmljIG1vZHVsZSwgZXZlbiBpZiB0aGUgQVBJIApjb3VsZCBiZSBpbXBsZW1lbnRl
ZCBpbiBvdGhlciBDTCBpbXBsZW1lbnRhdGlvbnMpLgoKCiAgICAgY2wtdXNlcj4gKGNsLXBwY3Jl
OmNyZWF0ZS1zY2FubmVyICIlZCIpCiAgICAgIzxjY2w6Y29tcGlsZWQtbGV4aWNhbC1jbG9zdXJl
ICg6aW50ZXJuYWwgCmNsLXBwY3JlOjpjcmVhdGUtc2Nhbm5lci1hdXgpICN4MzAyMDA0NEU4QjJG
PgogICAgIG5pbAogICAgIGNsLXVzZXI+IChjbC1wcGNyZTpzY2FuIChjbC1wcGNyZTpjcmVhdGUt
c2Nhbm5lciAiJWQiKSAiSGVsbG8gJWQgCldvcmxkISIpCiAgICAgNgogICAgIDgKICAgICAjKCkK
ICAgICAjKCkKICAgICBjbC11c2VyPgoKQnV0IG5vdGUgaG93IGV2ZW4gYSBsaXNwIGxpYnJhcnkg
cmV0dXJuaW5nIGEgbGlzcCBvYmplY3QsIG1heSBub3QgdXNlIGEgCnNwZWNpZmljIHR5cGUuICBJ
biB0aGlzIGNhc2UsIGluc3RlYWQgb2YgcmV0dXJuaW5nIGFuIG9iamVjdCBvZiBzb21lIApjb21w
aWxlZC1yZWdleHAgdHlwZSwgaXQgcmV0dXJucyBhIGNvbXBpbGVkIGxleGljYWwgY2xvc3VyZSwg
d2hpY2ggaXMgYSAKZnVuY3Rpb24gbGlrZSBhbnkgb3RoZXIgZnVuY3Rpb24uICBZb3UnZCBzdGls
bCBoYXZlIHRvIGtub3cgaXRzIApzaWduYXR1cmUgYW5kIGhvdyB0byBjYWxsIGl0IHRvIGJlIGFi
bGUgdG8gdXNlIGl0IGRpcmVjdGx5LCBvciB0byBrbm93IAp0byB3aGF0IG90aGVyIGxpYnJhcnkg
ZnVuY3Rpb24geW91IGNhbiBwYXNzIGl0IHRvLCBjb25zaWRlcmluZyBpdCBhbiAKb3BhcXVlIHR5
cGUuCgoKMi0gdGhlIG90aGVyIGFsdGVybmF0aXZlIGlzIHRvIHdyYXAgdGhvc2UgZm9yZWlnbiB2
YWx1ZXMgaW50byBsaXNwIApvYmplY3RzLiAgVGhpcyBpcyBzb21ldGhpbmcgeW91IHdpbGwgYWxz
byB3YW50IHRvIGRvIGlmIHlvdSB3YW50IHRvIHVzZSAKQ0xPUyBhbmQgZGlzcGF0Y2ggdG8gbWV0
aG9kcy4KCihkZWZzdHJ1Y3QgY29tcGlsZWQtcmVnZXhwIHZhbHVlKQoobWFrZS1jb21waWxlZC1y
ZWdleHAgOnZhbHVlIChyZWdleHA6cmVnZXhwLWNvbXBpbGUgIiVkIikpCi0tPiAjUyhDT01QSUxF
RC1SRUdFWFAgOlZBTFVFICM8Rk9SRUlHTi1QT0lOVEVSICN4MDAwMDAwMDEwMjEwNDBFMD4pCih0
eXBlLW9mICopCi0tPiBDT01QSUxFRC1SRUdFWFAKCllvdSBqdXN0IGhhdmUgdG8gcmVtZW1iZXIg
dG8gdW53cmFwIHRoZSBkYXRhIHdoZW4geW91IHVzZSBpdDoKCiAgICAgKGRlZnN0cnVjdCBjb21w
aWxlZC1yZWdleHAgdmFsdWUpCiAgICAgKG1ha2UtY29tcGlsZWQtcmVnZXhwIDp2YWx1ZSAocmVn
ZXhwOnJlZ2V4cC1jb21waWxlICIlZCIpKQogICAgIC0tPiAjUyhDT01QSUxFRC1SRUdFWFAgOlZB
TFVFICM8Rk9SRUlHTi1QT0lOVEVSICN4MDAwMDAwMDEwMjEwNDBFMD4pCiAgICAgKHR5cGUtb2Yg
KikKICAgICAtLT4gQ09NUElMRUQtUkVHRVhQCiAgICAgKGxldCAoKHJlIChtYWtlLWNvbXBpbGVk
LXJlZ2V4cCA6dmFsdWUgKHJlZ2V4cDpyZWdleHAtY29tcGlsZSAiJWQiKSkpKQogICAgICAgIChy
ZWdleHA6cmVnZXhwLWV4ZWMgKGNvbXBpbGVkLXJlZ2V4cC12YWx1ZSByZSkgIkhlbGxvICVkIFdv
cmxkIikpCiAgICAgLS0+ICNTKFJFR0VYUDpNQVRDSCA6U1RBUlQgNiA6RU5EIDgpCgpBbmQgb2Yg
Y291cnNlLCB5b3UgY2FuIGltcGxlbWVudCBhIHdyYXBwZWQgQVBJIHRvIG1ha2UgdGhhdCBhdXRv
bWF0aWM6CgogICAgIChkZWZwYWNrYWdlICJNWS1SRUdFWFAiCiAgICAgICAoOnVzZSAiQ0wiKQog
ICAgICAgKDpleHBvcnQgIkNPTVBJTEVELVJFR0VYUCIgIlJFR0VYUC1DT01QSUxFIiAiTUFUQ0gi
KSkKICAgICAoaW4tcGFja2FnZSAiTVktUkVHRVhQIikKCiAgICAgKGRlZnN0cnVjdCBjb21waWxl
ZC1yZWdleHAgdmFsdWUpCgogICAgIChkZWZ1biByZWdleHAtY29tcGlsZSAocmUtc3RyaW5nKQog
ICAgICAgKG1ha2UtY29tcGlsZWQtcmVnZXhwIDp2YWx1ZSAocmVnZXhwOnJlZ2V4cC1jb21waWxl
IHJlLXN0cmluZykpKQoKICAgICAoZGVmZ2VuZXJpYyBtYXRjaCAocmUgc3RyaW5nKSkKCiAgICAg
KGRlZm1ldGhvZCBtYXRjaCAoKHJlIHN0cmluZykgc3RyaW5nKQogICAgICAgKHJlZ2V4cDptYXRj
aCByZSBzdHJpbmcpKQoKICAgICAoZGVmbWV0aG9kIG1hdGNoICgocmUgY29tcGlsZWQtcmVnZXhw
KSBzdHJpbmcpCiAgICAgICAocmVnZXhwOnJlZ2V4cC1leGVjIChjb21waWxlZC1yZWdleHAtdmFs
dWUgcmUpIHN0cmluZykpCgogICAgIChyZWdleHAtY29tcGlsZSAiJWQiKQogICAgIC0tPiAjUyhD
T01QSUxFRC1SRUdFWFAgOlZBTFVFICM8Rk9SRUlHTi1QT0lOVEVSICN4MDAwMDAwMDEwMEUwNDE2
MD4pCiAgICAgKG1hdGNoIChyZWdleHAtY29tcGlsZSAiJWQiKSAiSGVsbG8gJWQgV29ybGQiKQog
ICAgIC0tPiAjUyhSRUdFWFA6TUFUQ0ggOlNUQVJUIDYgOkVORCA4KQogICAgIChtYXRjaCAiJWQi
ICJIZWxsbyAlZCBXb3JsZCIpCiAgICAgLS0+ICNTKFJFR0VYUDpNQVRDSCA6U1RBUlQgNiA6RU5E
IDgpCgpZb3UgY291bGQgZXZlbiBtYWtlIGl0IG1vcmUgZmVhdHVyZWZ1bDoKCiAgICAgKGRlZmNs
YXNzIGNvbXBpbGVkLXJlZ2V4cCAoKQogICAgICAgKChzb3VyY2UgOmluaXRhcmcgOnNvdXJjZSA6
cmVhZGVyIGNvbXBpbGVkLXJlZ2V4cC1zb3VyY2UpCiAgICAgICAgKHZhbHVlICA6aW5pdGFyZyA6
dmFsdWUgIDpyZWFkZXIgY29tcGlsZWQtcmVnZXhwLXZhbHVlKSkpCgogICAgIChkZWZtZXRob2Qg
cHJpbnQtb2JqZWN0ICgoc2VsZiBjb21waWxlZC1yZWdleHApIHN0cmVhbSkKICAgICAgIChwcmlu
dC11bnJlYWRhYmxlLW9iamVjdCAoc2VsZiBzdHJlYW0gOnR5cGUgdCA6aWRlbnRpdHkgdCkKICAg
ICAgICAgKGZvcm1hdCBzdHJlYW0gIi9+QS8iIChjb21waWxlZC1yZWdleHAtc291cmNlIHNlbGYp
KSkKICAgICAgIHNlbGYpCgogICAgIChkZWZ1biByZWdleHAtY29tcGlsZSAocmUtc3RyaW5nKQog
ICAgICAgKG1ha2UtaW5zdGFuY2UgJ2NvbXBpbGVkLXJlZ2V4cAogICAgICAgICAgICAgICAgICAg
ICAgOnNvdXJjZSByZS1zdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIDp2YWx1ZSAocmVnZXhw
OnJlZ2V4cC1jb21waWxlIHJlLXN0cmluZykpKQoKICAgICAocmVnZXhwLWNvbXBpbGUgIiVkIikK
ICAgICAtLT4gIzxDT01QSUxFRC1SRUdFWFAgLyVkLyAjeDAwMDAwMDAwMDAxMjExNTg+CgoKCi0t
IApfX1Bhc2NhbCBCb3VyZ3VpZ25vbl9fCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KY2xpc3AtbGlzdCBtYWlsaW5nIGxpc3QKY2xpc3AtbGlzdEBsaXN0
cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlz
dGluZm8vY2xpc3AtbGlzdAo=