Heim Backend-Entwicklung Python-Tutorial 详细介绍Ruby中的正则表达式

详细介绍Ruby中的正则表达式

Jun 10, 2016 pm 03:15 PM
ruby

正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找其他字符串或字符串集合。
语法

正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的模式,如下所示:

/pattern/
/pattern/im  # 可以指定选项
%r!/usr/local! # 一般的分隔的正则表达式
实例
#!/usr/bin/ruby
 
line1 = "Cats are smarter than dogs";
line2 = "Dogs also like meat";
 
if ( line1 =~ /Cats(.*)/ )
 puts "Line1 contains Cats"
end
if ( line2 =~ /Cats(.*)/ )
 puts "Line2 contains Dogs"
end
Nach dem Login kopieren

这将产生以下结果:

Line1 contains Cats
Nach dem Login kopieren

正则表达式修饰符

正则表达式从字面上看可能包含一个可选的修饰符,用于控制各方面的匹配。修饰符在第二个斜杠字符后指定,如上面实例所示。下标列出了 可能的修饰符:

201541093958504.jpg (982×274)

就像字符串通过 %Q 进行分隔一样,Ruby 允许您以 %r 作为正则表达式的开头,后面跟着任意分隔符。这在描述包含大量您不想转义的斜杠字符时非常有用。

# 下面匹配单个斜杠字符,不转义


%r|/|       
 
# Flag 字符可通过下面的语法进行匹配
%r[</(.*)>]i 

Nach dem Login kopieren

正则表达式模式

除了控制字符,(+ ? . * ^ $ ( ) [ ] { } | \),其他所有字符都匹配本身。您可以通过在控制字符前放置一个反斜杠来对控制字符进行转义。

下表列出了 Ruby 中可用的正则表达式语法。

201541094045775.jpg (957×701)

201541094114283.jpg (957×731)201541094152882.jpg (956×720)201541094244206.jpg (951×711)201541094311488.jpg (943×723)201541094334570.jpg (964×279)搜索和替换

sub 和 gsub 及它们的替代变量 sub! 和 gsub! 是使用正则表达式时重要的字符串方法。

所有这些方法都是使用正则表达式模式执行搜索与替换操作。sub 和 sub! 替换模式的第一次出现,gsub 和 gsub! 替换模式的所有出现。

sub 和 gsub 返回一个新的字符串,保持原始的字符串不被修改,而 sub! 和 gsub! 则会修改它们调用的字符串。

下面是一个实例:

#!/usr/bin/ruby
 
phone = "2004-959-559 #This is Phone Number"
 
# 删除 Ruby 的注释
phone = phone.sub!(/#.*$/, "") 
puts "Phone Num : #{phone}"
 
# 移除数字以外的其他字符
phone = phone.gsub!(/\D/, "")  
puts "Phone Num : #{phone}"
Nach dem Login kopieren

这将产生以下结果:

Phone Num : 2004-959-559
Phone Num : 2004959559
Nach dem Login kopieren

下面是另一个实例:

#!/usr/bin/ruby
 
text = "rails are rails, really good Ruby on Rails"
 
# 把所有的 "rails" 改为 "Rails"
text.gsub!("rails", "Rails")
 
# 把所有的单词 "Rails" 都改成首字母大写
text.gsub!(/\brails\b/, "Rails")
 
puts "#{text}"
Nach dem Login kopieren

这将产生以下结果:

Rails are Rails, really good Ruby on Rails
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Eingehende Analyse der Ähnlichkeiten und Unterschiede zwischen Golang und Ruby Eingehende Analyse der Ähnlichkeiten und Unterschiede zwischen Golang und Ruby Jun 01, 2024 pm 08:46 PM

Der Hauptunterschied zwischen Go und Ruby besteht darin, dass Go eine statisch typisierte kompilierte Sprache ist, die leichte Parallelität und effiziente Speicherverwaltung unterstützt, und sich zum Schreiben von Anwendungen mit hoher Parallelität eignet. Ruby ist eine dynamisch typisierte interpretierte Sprache, die echte Parallelität, aber Speicherverwaltung unterstützt erfordert eine manuelle Steuerung und eignet sich zum Schreiben flexibler Webanwendungen.

Warum haben Python, Ruby und andere Sprachen den Inkrementoperator abgelehnt? Warum haben Python, Ruby und andere Sprachen den Inkrementoperator abgelehnt? May 11, 2023 pm 04:37 PM

Vielen Menschen ist möglicherweise ein Phänomen aufgefallen, nämlich dass in einigen modernen Programmiersprachen (natürlich nicht in Bezug auf „neue“ Programmiersprachen) die Inkrementierungs- und Dekrementierungsoperatoren abgeschafft wurden. Mit anderen Worten, es gibt in diesen Sprachen keinen Ausdruck wie i++ oder j--, sondern nur i+=1 oder j-=1. Ein solcher Ausdruck. In dieser Antwort werden die Hintergründe und Gründe für dieses Phänomen aus der Perspektive der Designphilosophie untersucht. Streng genommen könnte die Aussage „i++ verschwindet“ voreingenommen sein, da es den Anschein hat, dass nur Python, Rust und Swift unter den Mainstream-Programmiersprachen die Inkrement- und Dekrementoperatoren nicht unterstützen. Als ich zum ersten Mal mit Python in Kontakt kam, war dies auch der Fall

Wie nutzt Ruby die MySQL2-Verbindung, um MySQL zu betreiben? Wie nutzt Ruby die MySQL2-Verbindung, um MySQL zu betreiben? Apr 17, 2023 pm 10:07 PM

Ruby betreibt MySQL mit MySQL2, um eine Verbindung zu MySQL herzustellen und MySQL zu betreiben. geminstallmysql2 stellt eine Verbindung zu MySQL her, um eine Verbindung herzustellen: require'mysql2'conn=Mysql2::Client.new({host:'192.168.200.73',username:'root',password:'P@ssword1!'}) Die akzeptierte Verbindung Zu den Optionen gehören: Mysql2::Clie

So implementieren Sie eine einfache Datenkonvertierungsfunktion mit MySQL und Ruby So implementieren Sie eine einfache Datenkonvertierungsfunktion mit MySQL und Ruby Sep 21, 2023 am 08:07 AM

So implementieren Sie mit MySQL und Ruby eine einfache Datenkonvertierungsfunktion. In der tatsächlichen Entwicklungsarbeit ist häufig eine Datenkonvertierung erforderlich, um ein Datenformat in ein anderes zu konvertieren. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Ruby eine einfache Datenkonvertierungsfunktion implementieren, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die MySQL- und Ruby-Umgebungen installieren und konfigurieren. Stellen Sie sicher, dass Sie eine MySQL-Datenbank installiert haben und über die Befehlszeile oder andere Tools eine Verbindung zur Datenbank herstellen können. Darüber hinaus müssen Sie installieren

So implementieren Sie eine einfache asynchrone Aufgabenplanungsfunktion mit MySQL und Ruby So implementieren Sie eine einfache asynchrone Aufgabenplanungsfunktion mit MySQL und Ruby Sep 20, 2023 am 10:48 AM

So implementieren Sie mit MySQL und Ruby eine einfache asynchrone Aufgabenplanungsfunktion. Die meisten früheren Webanwendungen verwendeten eine synchrone Methode zum Verarbeiten von Anforderungen. Das heißt, nachdem der Benutzer eine Anforderung gesendet hat, verarbeitet der Server die Anforderung sofort und gibt das Ergebnis zurück . Mit zunehmender Komplexität von Anwendungen wird jedoch die Verarbeitungseffizienz synchroner Methoden allmählich ineffizient, sodass die asynchrone Aufgabenplanung zu einer häufigen Anforderung in modernen Webanwendungen geworden ist. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Ruby eine einfache asynchrone Aufgabenplanungsfunktion einschließlich Aufgaben implementieren

So implementieren Sie mit MySQL und Ruby eine einfache Datenabfrage- und Analysefunktion So implementieren Sie mit MySQL und Ruby eine einfache Datenabfrage- und Analysefunktion Sep 21, 2023 pm 04:36 PM

So implementieren Sie mit MySQL und Ruby eine einfache Datenabfrage- und Analysefunktion. Im heutigen Big-Data-Zeitalter ist die Datenanalyse in vielen Bereichen zu einem unverzichtbaren Bestandteil geworden. Bei der Durchführung einer Datenanalyse ist die Datenabfrage die häufigste Operation. In diesem Artikel wird erläutert, wie Sie mithilfe der Programmiersprachen MySQL und Ruby eine einfache Datenabfrage- und Analysefunktion implementieren, und es werden spezifische Codebeispiele aufgeführt. Zuerst müssen wir die Entwicklungsumgebungen MySQL und Ruby installieren. MySQL ist eine relationale Open-Source-Datenbank

So implementieren Sie mit MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion So implementieren Sie mit MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion Sep 20, 2023 pm 05:09 PM

So implementieren Sie mit MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion. Einführung: Im heutigen datengesteuerten Zeitalter spielt die Datenanalyse eine entscheidende Rolle bei der Entscheidungsfindung und Entwicklung von Unternehmen. Als wichtiger Bestandteil der Datenanalyse sind Datenanalyseberichte von großer Bedeutung für die Organisation, Visualisierung und Interpretation von Daten. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion implementieren, und entsprechende Codebeispiele bereitstellen. 1. Datenbankdesign und Tabellenerstellung müssen Datenanalyse- und Berichtsfunktionen realisieren

So erstellen Sie skalierbare Webanwendungen mit Vue.js und Ruby So erstellen Sie skalierbare Webanwendungen mit Vue.js und Ruby Aug 03, 2023 pm 02:27 PM

So verwenden Sie Vue.js und die Ruby-Sprache zum Erstellen skalierbarer Webanwendungen. In den letzten Jahren ist die Erstellung skalierbarer Webanwendungen mit der Entwicklung und den wachsenden Anforderungen an Webanwendungen zu einem wichtigen Thema geworden. Als leichtes JavaScript-Frontend-Framework bietet Vue.js eine flexible, effiziente und skalierbare Lösung. Gleichzeitig kann Ruby als prägnante und leicht lesbare Programmiersprache zum Aufbau leistungsfähiger Backend-Systeme genutzt werden. In diesem Artikel wird erläutert, wie Sie Vue.js und die Ruby-Sprache zum Erstellen kombinieren

See all articles