大文字になるまですべての文字を取得したいのですが、最後から最初までです。(または右から左)
blab blab 12 34これはテストです!
必要This is a test!
です。
これは私が見つけたものです:
^.*?(?=[A-Z])
しかし、それは戻りますblab blab 12 34
大文字になるまですべての文字を取得したいのですが、最後から最初までです。(または右から左)
blab blab 12 34これはテストです!
必要This is a test!
です。
これは私が見つけたものです:
^.*?(?=[A-Z])
しかし、それは戻りますblab blab 12 34
次の正規表現を使用します。
irb(main):001:0> regex = /([A-Z][^A-Z]*)$/
irb(main):002:0> "blab blab 12 34 This is a test!".match regex
=> #<MatchData "This is a test!" 1:"This is a test!">
OK、それを答えとして追加します。おそらく後で他のバリアントに開発します。簡単な解決策はsthでなければなりません。お気に入り:
[A-Z][^A-Z]*$
テスト(Perl):
print $1 if 'blab blab 12 34 This is a test!' =~ /([A-Z][^A-Z]*)$/;
戻り値:
This is a test!
これを解決するには、パターンを文字列の最後に固定する必要があります( $
)。
よろしく
rbo