სტატიების დირექტორია
MySQL მონაცემთა ბაზაროგორ ემთხვევა რეგულარული გამოხატულება?MySQL regexp-ის მსგავსი გამოყენება
MySQL რეგულარული გამონათქვამები
წინა თავებში გავიგეთ, რომ MySQL შეიძლება იყოს მოიწონე...% ბუნდოვანი შესატყვისისთვის.
MySQL ასევე მხარს უჭერს სხვა რეგულარული გამონათქვამების შესატყვისს. REGEXP ოპერატორი გამოიყენება MySQL-ში რეგულარული გამონათქვამების შესატყვისად.
თუ იცით PHP ან Perl, ეს საკმაოდ მარტივია, რადგან MySQL-ის რეგულარული გამოხატვის შესატყვისი მსგავსია ამ სკრიპტების მსგავსი.
შემდეგი ცხრილის რეგულარული შაბლონები შეიძლება გამოყენებულ იქნას REGEXP ოპერატორზე.
რეჟიმი | აღწერა |
---|---|
^ | შეესაბამება შეყვანის სტრიქონის დასაწყისს.^ ასევე ემთხვევა პოზიციას '\n' ან '\r'-ის შემდეგ, თუ დაყენებულია RegExp ობიექტის Multiline თვისება. |
$ | შეესაბამება შეყვანის სტრიქონის ბოლოს.თუ RegExp ობიექტის Multiline თვისება დაყენებულია, $ ასევე ემთხვევა პოზიციას '\n' ან '\r'-მდე. |
. | ემთხვევა ნებისმიერ სიმბოლოს გარდა "\n".ნებისმიერი სიმბოლოს შესატყვისად, მათ შორის '\n', გამოიყენეთ ნიმუში, როგორიცაა '[.\n]'. |
[...] | პერსონაჟების კოლექცია.შეესაბამება რომელიმე მოცემულ სიმბოლოს.მაგალითად, '[abc]' ემთხვევა "plai"a" n-ში". |
[^…] | უარყოფითი პერსონაჟების ნაკრები.შეესაბამება ნებისმიერ სიმბოლოს, რომელიც არ შეიცავს.მაგალითად, '[^abc]' ემთხვევა 'p'-ს "უბრალო". |
p1|p2|p3 | შეესაბამება p1 ან p2 ან p3.მაგალითად, 'z|საკვები' ემთხვევა ან "z"-ს ან "საკვებს". '(z|f)ood' შეესაბამება "zood" ან "food". |
* | ემთხვევა წინა ქვეგამოთქმას ნულს ან მეტჯერ.მაგალითად, zo* ემთხვევა "z"-ს ისევე როგორც "zoo". * უდრის {0,}-ს. |
+ | ემთხვევა წინა ქვეგამოთქმას ერთ ან მეტჯერ.მაგალითად, "zo+" ემთხვევა "zo" და "zoo", მაგრამ არა "z". + უდრის {1,}-ს. |
{n} | n არის არაუარყოფითი მთელი რიცხვი.მატჩი განსაზღვრულია n ჯერ.მაგალითად, „o{2}“ არ ემთხვევა „o“-ს „ბობში“, მაგრამ ემთხვევა ორივე o-ს „საჭმელში“. |
{n, m} | ორივე m და n არაუარყოფითი მთელი რიცხვებია, სადაც n <= m.ემთხვევა მინიმუმ n-ჯერ და მაქსიმუმ m-ჯერ. |
მაგალითი
ზემოაღნიშნული რეგულარული მოთხოვნების გააზრების შემდეგ, ჩვენ შეგვიძლია დავწეროთ SQL განცხადებები რეგულარული გამონათქვამებით ჩვენი მოთხოვნების შესაბამისად.ქვემოთ ჩამოვთვლით რამდენიმე მცირე მაგალითს (ცხრილის სახელი: person_tbl ) ჩვენი გაგების გასაღრმავებლად:
იპოვეთ ყველა მონაცემი, რომელიც იწყება "st"-ით სახელის ველში:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
იპოვეთ ყველა მონაცემი, რომელიც მთავრდება „ok“-ით სახელის ველში:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
იპოვეთ ყველა მონაცემი, რომელიც შეიცავს "mar" სტრიქონს სახელის ველში:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
იპოვეთ ყველა მონაცემი სახელის ველში, რომელიც იწყება ხმოვანთა სიმბოლოთი ან მთავრდება სტრიქონით „ok“:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ ) გააზიარა „როგორ დავამთხვიოთ რეგულარული გამონათქვამები MySQL მონაცემთა ბაზაში? MySQL regexp like use“ დაგეხმარებათ.
კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-492.html
კეთილი იყოს თქვენი მობრძანება Chen Weiliang-ის ბლოგის ტელეგრამის არხზე, რომ მიიღოთ უახლესი განახლებები!
📚 ეს სახელმძღვანელო შეიცავს უზარმაზარ ღირებულებას, 🌟ეს იშვიათი შესაძლებლობაა, არ გამოტოვოთ! ⏰⌛💨
გააზიარეთ და მოიწონეთ თუ მოგეწონათ!
თქვენი გაზიარება და მოწონებები ჩვენი უწყვეტი მოტივაციაა!