Home » Ruby Tutorial Box » Using Regular Expressions in Ruby

Using Regular Expressions in Ruby

regex
Bài viết dưới đây sẽ nêu một vài ví dụ điển hình hay gặp khi sử dụng Regular Expression trong Ruby

1. Cú pháp

  • Bạn có thể check cấu trúc của chuỗi bất kì giữa hai dấu
    / search string /

2. Ví dụ kiểm tra xâu kí tự đơn giản

Một số ví dụ hay gặp để kiểm tra một số mẫu string nhất định
  • Kiểm tra cơ bản
  • Thay đổi kí tự phân biệt theo sau dấu #
  • Kí tự hoa thường
  • Cấu trúc với kí tự đặc biệt
  • Sử dụng số cụ thể
  • Thay thế biểu mẫu khác
  • Bạn có thể thay thế các string con trong chuỗi string với cấu trúc nhất định bằng một chuỗi string khác bằng các sử dụng regular expression trong sub! (để thay thế toàn bộ các sub string) và gsub! (thay thế sub string đầu tiên)

  • Giải nén dữ liệu sử dụng Ruby Regex
  • Các mẫu dùng trong Regular-expression
  • Đối với các kí tự đặc biệt như (+ ? . * ^ $ ( ) [ ] { } | \) bạn có thể sử dụng với kí tự \ đằng trước nó

    Bảng dưới đây là một số mẫu hay dùng trong Ruby Regular Expression
    Pattern Description
    ^ Matches beginning of line.
    $ Matches end of line.
    . Matches any single character except newline. Using m option allows it to match newline as well.
    […] Matches any single character in brackets.
    [^…] Matches any single character not in brackets
    re* Matches 0 or more occurrences of preceding expression.
    re+ Matches 1 or more occurrence of preceding expression.
    re? Matches 0 or 1 occurrence of preceding expression.
    re{ n} Matches exactly n number of occurrences of preceding expression.
    re{ n,} Matches n or more occurrences of preceding expression.
    re{ n, m} Matches at least n and at most m occurrences of preceding expression.
    a| b Matches either a or b.
    (re) Groups regular expressions and remembers matched text.
    (?imx) Temporarily toggles on i, m, or x options within a regular expression. If in parentheses, only that area is affected.
    (?-imx) Temporarily toggles off i, m, or x options within a regular expression. If in parentheses, only that area is affected.
    (?: re) Groups regular expressions without remembering matched text.
    (?imx: re) Temporarily toggles on i, m, or x options within parentheses.
    (?-imx: re) Temporarily toggles off i, m, or x options within parentheses.
    (?#…) Comment.
    (?= re) Specifies position using a pattern. Doesn’t have a range.
    (?! re) Specifies position using pattern negation. Doesn’t have a range.
    (?> re) Matches independent pattern without backtracking.
    \w Matches word characters.
    \W Matches nonword characters.
    \s Matches whitespace. Equivalent to [\t\n\r\f].
    \S Matches nonwhitespace.
    \d Matches digits. Equivalent to [0-9].
    \D Matches nondigits.
    \A Matches beginning of string.
    \Z Matches end of string. If a newline exists, it matches just before newline.
    \z Matches end of string.
    \G Matches point where last match finished.
    \b Matches word boundaries when outside brackets. Matches backspace (0x08) when inside brackets.
    \B Matches nonword boundaries.
    \n, \t, etc. Matches newlines, carriage returns, tabs, etc.
    \1…\9 Matches nth grouped subexpression.
    \10 Matches nth grouped subexpression if it matched already. Otherwise refers to the octal representation of a character code.