對於ruby來說相當新穎。我試圖解析一個字符串,並用正則表達式分配幾個變量。Ruby正則表達式匹配來自單個字符串的多個變量
我已經諮詢了文檔,Google搜索了一下,並確信以下內容可以正常工作。
@operating_system, @os_update, @os_arch = @version_line[0].match(
/(Solaris \d+)\s+\d+\/\d+\ss\d+[sx]_u(\d+)\wos_\d+\w+\s+(\w+)$/
)
凡@version_line = [" Oracle Solaris 10 9/10 s10x_u9wos_14a X86\n"]
但所發生的一切是我的第一個變量,@operating_system分配Solaris 10 9/10 s10x_u9wos_14a X86
難道我嘗試做了錯誤的方式?
奇怪...'字符串#我match'工作。這是在1.8.7以及1.9.1和1.9.3的文檔 – 2012-07-06 12:00:31
輝煌!謝謝托馬斯我完全錯過了匹配返回MatchData對象的事實! – Sirch 2012-07-06 12:19:54
你說得對@version_line = [「...」],我會編輯我的問題。 – Sirch 2012-07-06 12:22:31