首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Ruby 正則表達式入門:語法、修飾符、搜尋與替換實例

     編輯:更多程式設計知識

正則表達式字面值

/pattern/
/pattern/im          # 修飾符
%r!/usr/local!       # 任意分隔符

基本匹配範例

line1 = "Cats are smarter than dogs"
line2 = "Dogs also like meat"

if line1 =~ /Cats(.*)/
  puts "Line1 starts with Cats"
end
# 輸出: Line1 starts with Cats

修飾符

  • i:忽略大小寫
  • m:多行模式(. 匹配換行)
  • x:延伸語法(忽略空白、允許註解)

常用模式元字元

模式說明
^ $行首/行尾
\A \z字串開頭/結尾
.任意字元(預設不含換行)
\d \D數字/非數字
\s \S空白/非空白
\w \W單字字元/非單字字元
* + ?0或多/1或多/0或1
{n,m}重複 n 到 m 次
[abc]字元類別
(...)分組捕獲

搜尋與替換:sub / gsub

phone = "2004-959-559 #This is Phone Number"
# 移除註解
phone.sub!(/#.*$/, "")          # "2004-959-559 "
# 只保留數字
phone.gsub!(/\D/, "")           # "2004959559"

text = "rails are rails, really good Ruby on Rails"
text.gsub!("rails", "Rails")            # 字串替換
text.gsub!(/\brails\b/, "Rails")        # 單字邊界替換
puts text  # "Rails are Rails, really good Ruby on Rails"

sub! / gsub! 差異

  • sub / gsub:回傳新字串,原字串不變。
  • sub! / gsub!:就地修改原字串,回傳修改後字串(若無變更回傳 nil)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved