MySQL ਡਾਟਾਬੇਸ ਨਿਯਮਤ ਸਮੀਕਰਨ ਕਿਵੇਂ ਮੇਲ ਖਾਂਦੇ ਹਨ? MySQL regexp ਜਿਵੇਂ ਵਰਤੋਂ

MySQL ਡੇਟਾਬੇਸ ਵਿੱਚ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਮੈਚਿੰਗ ਕਿਵੇਂ ਕਰੀਏ ? MySQL regexp ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ?

MySQL ਨਿਯਮਤ ਸਮੀਕਰਨ

ਪਿਛਲੇ ਅਧਿਆਵਾਂ ਵਿੱਚ, ਅਸੀਂ ਸਿੱਖਿਆ ਹੈ ਕਿ MySQL ਫਜ਼ੀ ਮੈਚਿੰਗ ਲਈ LIKE …% ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ।

MySQL ਹੋਰ ਰੈਗੂਲਰ ਸਮੀਕਰਨਾਂ ਦੇ ਮੇਲ ਦਾ ਸਮਰਥਨ ਵੀ ਕਰਦਾ ਹੈ। REGEXP ਆਪਰੇਟਰ ਨੂੰ MySQL ਵਿੱਚ ਰੈਗੂਲਰ ਸਮੀਕਰਨ ਮੈਚਿੰਗ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਜੇ ਤੁਸੀਂ PHP ਜਾਂ ਪਰਲ ਨੂੰ ਜਾਣਦੇ ਹੋ, ਤਾਂ ਇਹ ਬਹੁਤ ਸਿੱਧਾ ਹੈ, ਕਿਉਂਕਿ MySQL ਦਾ ਨਿਯਮਤ ਸਮੀਕਰਨ ਇਹਨਾਂ ਸਕ੍ਰਿਪਟਾਂ ਦੇ ਸਮਾਨ ਹੈ।

ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਨਿਯਮਤ ਪੈਟਰਨ REGEXP ਆਪਰੇਟਰ 'ਤੇ ਲਾਗੂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।

ਮੋਡਵੇਰਵਾ
^ਇਨਪੁਟ ਸਤਰ ਦੀ ਸ਼ੁਰੂਆਤ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।^ '\n' ਜਾਂ '\r' ਤੋਂ ਬਾਅਦ ਦੀ ਸਥਿਤੀ ਨਾਲ ਵੀ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜੇਕਰ RegExp ਵਸਤੂ ਦੀ ਮਲਟੀਲਾਈਨ ਵਿਸ਼ੇਸ਼ਤਾ ਸੈੱਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
$ਇਨਪੁਟ ਸਤਰ ਦੇ ਅੰਤ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।ਜੇਕਰ RegExp ਆਬਜੈਕਟ ਦੀ ਮਲਟੀਲਾਈਨ ਵਿਸ਼ੇਸ਼ਤਾ ਸੈੱਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ $ '\n' ਜਾਂ '\r' ਤੋਂ ਪਹਿਲਾਂ ਵਾਲੀ ਸਥਿਤੀ ਨਾਲ ਵੀ ਮੇਲ ਖਾਂਦਾ ਹੈ।
."\n" ਨੂੰ ਛੱਡ ਕੇ ਕਿਸੇ ਇੱਕ ਅੱਖਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।'\n' ਸਮੇਤ ਕਿਸੇ ਵੀ ਅੱਖਰ ਨਾਲ ਮੇਲ ਕਰਨ ਲਈ, '[.\n]' ਵਰਗੇ ਪੈਟਰਨ ਦੀ ਵਰਤੋਂ ਕਰੋ।
[...]ਅੱਖਰ ਦਾ ਸੰਗ੍ਰਹਿ.ਸ਼ਾਮਲ ਅੱਖਰਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।ਉਦਾਹਰਨ ਲਈ, '[abc]' "plain ਵਿੱਚ 'a'।
[^…]ਨਕਾਰਾਤਮਕ ਅੱਖਰ ਸੈੱਟ.ਕਿਸੇ ਵੀ ਅੱਖਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ।ਉਦਾਹਰਨ ਲਈ, '[^abc]' "ਸਾਦੇ" ਵਿੱਚ 'p' ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
p1|p2|p3p1 ਜਾਂ p2 ਜਾਂ p3 ਨਾਲ ਮੇਲ ਕਰੋ।ਉਦਾਹਰਨ ਲਈ, 'z|food' ਜਾਂ ਤਾਂ "z" ਜਾਂ "food" ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। '(z|f)ood' "zood" ਜਾਂ "food" ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
*ਪਿਛਲੇ ਸਬ-ਐਕਸਪ੍ਰੈਸ਼ਨ ਜ਼ੀਰੋ ਜਾਂ ਵੱਧ ਵਾਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।ਉਦਾਹਰਨ ਲਈ, zo* "z" ਦੇ ਨਾਲ-ਨਾਲ "zoo" ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। * {0,} ਦੇ ਬਰਾਬਰ ਹੈ।
+ਪਿਛਲੇ ਸਬ-ਐਕਸਪ੍ਰੈਸ਼ਨ ਨਾਲ ਇੱਕ ਜਾਂ ਵੱਧ ਵਾਰ ਮੇਲ ਖਾਂਦਾ ਹੈ।ਉਦਾਹਰਨ ਲਈ, 'zo+' "zo" ਅਤੇ "zoo" ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਪਰ "z" ਨਾਲ ਨਹੀਂ। + {1,} ਦੇ ਬਰਾਬਰ ਹੈ।
{n}n ਇੱਕ ਗੈਰ-ਨੈਗੇਟਿਵ ਪੂਰਨ ਅੰਕ ਹੈ।n ਵਾਰ ਨਿਰਧਾਰਿਤ ਮੈਚ।ਉਦਾਹਰਨ ਲਈ, 'o{2}' "Bob" ਵਿੱਚ 'o' ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ, ਪਰ "food" ਵਿੱਚ ਦੋਨਾਂ o ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
{n,m}m ਅਤੇ n ਦੋਵੇਂ ਗੈਰ-ਨੈਗੇਟਿਵ ਪੂਰਨ ਅੰਕ ਹਨ, ਜਿੱਥੇ n <= m।ਘੱਟੋ-ਘੱਟ n ਵਾਰ ਅਤੇ ਵੱਧ ਤੋਂ ਵੱਧ m ਵਾਰ ਮੇਲ ਖਾਂਦਾ ਹੈ।

ਉਦਾਹਰਨ

ਉਪਰੋਕਤ ਨਿਯਮਤ ਲੋੜਾਂ ਨੂੰ ਸਮਝਣ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਆਪਣੀਆਂ ਲੋੜਾਂ ਅਨੁਸਾਰ ਨਿਯਮਤ ਸਮੀਕਰਨਾਂ ਨਾਲ SQL ਸਟੇਟਮੈਂਟਾਂ ਨੂੰ ਲਿਖ ਸਕਦੇ ਹਾਂ।ਹੇਠਾਂ ਅਸੀਂ ਆਪਣੀ ਸਮਝ ਨੂੰ ਡੂੰਘਾ ਕਰਨ ਲਈ ਕੁਝ ਛੋਟੀਆਂ ਉਦਾਹਰਣਾਂ (ਸਾਰਣੀ ਦਾ ਨਾਮ: person_tbl ) ਸੂਚੀਬੱਧ ਕਰਾਂਗੇ:

ਨਾਮ ਖੇਤਰ ਵਿੱਚ 'st' ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲਾ ਸਾਰਾ ਡਾਟਾ ਲੱਭੋ:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

ਨਾਮ ਖੇਤਰ ਵਿੱਚ 'ਓਕੇ' ਨਾਲ ਖਤਮ ਹੋਣ ਵਾਲੇ ਸਾਰੇ ਡੇਟਾ ਨੂੰ ਲੱਭੋ:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

ਨਾਮ ਖੇਤਰ ਵਿੱਚ 'ਮਾਰ' ਸਤਰ ਵਾਲਾ ਸਾਰਾ ਡੇਟਾ ਲੱਭੋ:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

ਨਾਮ ਖੇਤਰ ਵਿੱਚ ਉਹ ਸਾਰਾ ਡੇਟਾ ਲੱਭੋ ਜੋ ਸਵਰ ਅੱਖਰ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਾਂ ਸਤਰ 'ਓਕੇ' ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

ਉਮੀਦ ਹੈ, ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਦੇ ਬਲੌਗ ( https://www.chenweiliang.com/ ) 'ਤੇ ਸਾਂਝਾ ਕੀਤਾ ਗਿਆ ਲੇਖ "MySQL ਡੇਟਾਬੇਸ ਵਿੱਚ ਨਿਯਮਤ ਸਮੀਕਰਨਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ? MySQL regexp like ਦੀ ਵਰਤੋਂ" ਤੁਹਾਡੇ ਲਈ ਮਦਦਗਾਰ ਹੋਵੇਗਾ।

ਇਸ ਲੇਖ ਦਾ ਲਿੰਕ ਸਾਂਝਾ ਕਰਨ ਲਈ ਬੇਝਿਜਕ ਮਹਿਸੂਸ ਕਰੋ: https://www.chenweiliang.com/cwl-492.html

ਹੋਰ ਲੁਕਵੇਂ ਗੁਰੁਰ🔑 ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਲਈ, ਸਾਡੇ ਟੈਲੀਗ੍ਰਾਮ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਸਵਾਗਤ ਹੈ!

ਜੇ ਚੰਗਾ ਲੱਗੇ ਤਾਂ ਸ਼ੇਅਰ ਅਤੇ ਲਾਈਕ ਕਰੋ! ਤੁਹਾਡੇ ਸ਼ੇਅਰ ਅਤੇ ਪਸੰਦ ਸਾਡੀ ਨਿਰੰਤਰ ਪ੍ਰੇਰਣਾ ਹਨ!

 

ਇੱਕ ਟਿੱਪਣੀ ਪੋਸਟ

您的邮箱地址不会被公开。必填项已用*标注

ਚੋਟੀ ੋਲ