0

Rubyで次の正規表現を使用しようとしています

<% elsif entry.name=~(/^[0-9][0-9]/) %>

entry.name 文字列に 1 桁以上の数字があるかどうかを確認します。構文を正しく理解できないようです。

たとえば、「絶対に避けるべき 10 のコンテンツ作成ミス」などの文字列に対してステートメントが true を返すようにしたい

4

3 に答える 3

3

1 桁または 2 桁の一致は次のようになります。

/^\d{1,2}/

3桁目がないことを確認するには、先読みを使用できます。

/^\d{1,2}(?!\d)/

一部の人々は次のように言及しました:

/^\d+/

しかし、それは実際には 3 桁に一致します (たとえば)。

于 2013-08-08T05:28:35.083 に答える
0
s = "10 Content Creation Mistakes To Avoid At All Costs"
s.scan(/^\d+/)
# => ["10"]
s.scan(/^\d+/).empty?
# => false
!s.scan(/^\d+/).empty?
# => true

s = "10 Content Creation Mistakes To Avoid At All Costs"
s =~ (/^\d+/)
# => 0
于 2013-08-08T04:25:30.333 に答える