[英]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]
,它接受a
或b
或c
。 這些不能嵌套。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.