Regex Examples for Motoko Regex Engine
Table of Contents
Internet Computer Identifiers
Principal ID
Pattern to validate Principal ID format.
// Anonymous Principal will be rejected
let principalPattern = Regex.Regex("^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{3}$", null);
public func validatePrincipalId(id: Text): Bool {
switch(principalPattern.match(id)) {
case (#ok(result)) {
switch(result.status) {
case (#FullMatch) true;
case (#NoMatch) false;
};
};
case (#err(_)) false;
};
};
Account ID
Pattern to validate Account ID format.
// Account ID (32 bytes in hexadecimal)
let accountPattern = Regex.Regex("^[0-9a-f]{64}$", null);
public func validateAccountId(id: Text): Bool {
switch(accountPattern.match(id)) {
case (#ok(result)) {
switch(result.status) {
case (#FullMatch) true;
case (#NoMatch) false;
};
};
case (#err(_)) false;
};
};