簡體   English   中英

這個字符串的Ruby正則表達式?

[英]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.

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