簡體   English   中英

Ruby檢查正則表達式

[英]Ruby check regular expressions

紅寶石在這里是新手,

我想知道如何在Ruby中檢查正則表達式。 閱讀了很多文檔,但這很令人困惑。

我需要使用以下格式的行檢查文件:

id: 123456 synset: word1,word2,etc

整數的位數無關緊要,同義詞集中有多少個單詞也無關緊要。

我應該使用Regexp嗎? 有人可以給我一個例子嗎?

正則表達式在這里很方便:

str = 'id: 123456 synset: word1,word2,etc'
m = str.match(/\Aid: (\d+) synset: (.+)\z/)
id, synset = m.captures
id
 => "123456" 
synset
 => "word1,word2,etc" 

或者,您可以將字符串拆分為一個數組:

arr = str.split
_, id, _, synset = arr
id
 => "123456" 
synset
 => "word1,word2,etc" 

./file1.rb:

id: 123456 synset: word1,word2
id: 123456 synset: word1,word2
a;sdlkfjasdlkfj
id: 123456 synset: word1,word2

./file2.rb

file = File.new('./file1.rb','r+')
p file.grep(/^id: \d+ synset: (\w+,?)+$/)
#[
# id: 123456 synset: word1,word2,
# id: 123456 synset: word1,word2,
# id: 123456 synset: word1,word2"
#]

使用Enumerable#grep返回僅包含與正則表達式匹配的行的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM