regex
これらのパターンのいずれかに一致する正規表現を探しています。
- 番号に続く
x
- 1 つ以上のスペースで区切られた数値
match
結果を達成するための正しい方法であるかどうかはわかりません。
マッチング例:
' 30x '
'30x'
'20 30'
' 20 30 '
'30x'.match(regex).to_a #=> ['30']
'30 40'.match(regex).to_a #=> ['30', '40']
"30".match(regex).to_a # => ["30"]
" 30 ".match(regex).to_a # => ["30"]
"30 40".match(regex).to_a # => ["30", "40"]
一致しない例:
'20x 30 '
'x20 '
"30xx".match(regex).to_a # => nil
"30 a".match(regex).to_a # => nil
"30 60x".match(regex).to_a # => nil
"30x 20".match(regex).to_a # => nil
編集
@TeroTilus のアドバイスに従って、これはこの質問の使用例です。
ユーザーは、借金の支払い方法を挿入します。次に、支払い条件を簡単に挿入できるテキストフィールドを作成しました。例:
> "15 20" # Generate 2 bills: First for 15 days and second for 20 days
> "2x" # Generate 2 bills: First for 30 days and second for 60 days
> "2x 30" # Show message of 'Invalid Format'
> "ANY other string" # Show message of 'Invalid Format'