簡體   English   中英

Ruby Regexp中的括號/ Parens

[英]Brackets/Parens in Ruby Regexp

我收到警告和錯誤:

rubytime.rb:18: warning: character class has `[' without escape
rubytime.rb:18: unmatched ): /^(\w+).*\([([\d]+)\+]?(\d\d):(\d\d)\)\s*$/

對於這一行:

if line =~ /^(\w+).*\([([\d]+)\+]?(\d\d):(\d\d)\)\s*$/

我已經檢查了幾次,並且parens /括號似乎排成一行,盡管可能(最近做過perl)我在Ruby中對Regexp做出了錯誤的假設。

[([\d]+)\+]?

你的意思是...

(([\d]+)\+)?

另外, [\\d]相當於\\d ,所以你真的可以把它寫成......

((\d+)\+)?

如果您不希望外部組成為匹配組,則可以使用不匹配(?: ) :):

(?:(\d+)\+)?

如果你需要文字括號,你需要逃避它們。 \\[ \\] 未轉義的括號啟動一個“字符類”,如[abc] ,它接受abc 這些不能嵌套。

暫無
暫無

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

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