[英]Ruby regular expression for this string?
我正在嘗試獲取此字符串中的第一個單詞: Basic (11/17/2011 - 12/17/2011)
因此,最終希望從中獲得Basic
。
其他示例字符串: Premium (11/22/2011 - 12/22/2011)
格式始終為“單字,后跟括號內的日期范圍”,我只需要一個字。
用這個:
str = "Premium (11/22/2011 - 12/22/2011)"
str.split.first # => "Premium"
如果未指定,則拆分將使用' '
作為默認參數。
在此之后,得到的第一個元素first
您不需要正則表達式,只需使用
str.split(' ')[0]
我知道您找到了所需的答案,但以防萬一將來有人迷失方向,以便從未知長度的大型String
中提取所需的值:
word_you_need = s.slice(/(\b[a-zA-Z]*\b \(\d+\/\d+\/\d+ - \d+\/\d+\/\d+\))/).split[0]
此正則表達式將匹配第一個單詞而沒有尾隨空格
"^\w+ ??"
如果您確實想要一個正則表達式,則可以在使用此正則表達式后獲得第一組:
(\w*) .*
“單字后面加上括號的日期范圍”
應該更好地定義“單詞”和“帶括號的日期范圍”
因為根據您的要求聲明,它們應該是錨點和/或分界符。
這些原始的正則表達式只是一般的猜測。
\w+(?=\s*\([^)]*\))
要么
\w+(?=\s*\(\s*\d+(?:/\d+)*\s*-\s*\d+(?:/\d+)*\s*\))
實際上,您需要做的只是:
s.split[0]
...要么...
s.split.first
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.