Регулярное выражение в PostgreSQL
Регулярное выражение - это очень мощный инструмент для таких языков программирования, как java, .NET, PHP, Perl… или даже PostgreSQL.
Здесь я пишу несколько основных примеров, чтобы показать, как использовать регулярное выражение в PostgreSQL.
1)isdigit function - Эта функция отсутствует в PostgreSQL, так как это встроенная функция в других базах данных.
Это очень полезная функция для проверки разрешенных только номеров. Однако мы можем сами создать функцию isdigit в PostgreSQL.
create or replace function isdigit(text) returns boolean as ' select $1 ~ ''^(-)?[0-9]+$'' as result ' language sql; --test function select isdigit('1') --return true select isdigit('A') --return false
2)isString function - Эта функция также отсутствует в PostgreSQL, так как это встроенная функция в других базах данных.
Это очень полезная функция для проверки разрешенных только строк. Однако мы можем сами создать функцию isString в PostgreSQL.
create or replace function isString(text) returns boolean as ' select $1 ~ ''^(-)?[a-zA-Z]+$'' as result ' language sql; --test function select isString('1') --return false select isString('A') --return true
3)isIPAddress function - я не думаю, что это встроенная функция в другой базе данных. Эта функция используется для подтверждения разрешения IP-адреса.
Пример А
--check ipaddress create or replace function isIPAddress(text) returns boolean as ' select $1 ~ ''^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'' as result ' language sql; --test function select isIPAddress('202.111.0.1') --return true select isIPAddress('202.ZZZ.0.A') --return false select isIPAddress('202.11199999999.1.100') --return true
Пример Б
create or replace function isIPAddressStrict(text) returns boolean as ' select $1 ~ ''^[0-9]?[0-9]?[0-9]?\.[0-9]?[0-9]?[0-9]?\.[0-9]?[0-9]?[0-9]?\.[0-9]?[0-9]?[0-9]?$'' as result ' language sql; --test function select isIPAddressStrict('202.111.0.1') --return true select isIPAddressStrict('202.ZZZ.0.A') --return false select isIPAddressStrict('202.11199999999.1.100') --return false
Вау, впечатляет, верно? На самом деле регулярное выражение является более мощным, чем вышеуказанная простая функция. Стоит потратить время на изучение этого. Пожалуйста, перейдите сюда, если вы хотите узнать об этом больше
http://en.wikipedia.org/wiki/Regular_expression
Пожалуйста, поделитесь со мной своим примером, если вы не возражаете. Спасибо