「単語」は、空白以外の記号のまとまりに過ぎません。 - 文字列の先頭または前の試合終了(したがって、我々は唯一の連続取得
\G
: あなたはRuby demo online
詳細を参照してください
rx = /\G[^[:space:]\p{L}][^[:space:]]*[[:space:]]*/
puts "1000 22 cc33 dfdsf".gsub(rx, '') # => cc33 dfdsf
puts "7nnn 2000 388 a 4000 bbb".gsub(rx, '') # => a 4000 bbb
を使用することができます文字列の先頭から一致します)
- 01 0+非空白
[[:space:]]*
- - 0+空白- 空白ではなく文字
[^[:space:]]*
ない文字。
もう1つの正規表現は/\A(?:[^[:space:]\p{L}][^[:space:]]*[[:space:]]*)+/
です。ここでは、\A
が文字列の先頭と一致し、(?:...)+
が上記のパターンの1つ以上の連続した出現と一致します。
注:あなたは、具体的英数字の単語を一致させたい場合は、それはあなたが文字列の先頭に数字で始まるすべての単語を削除したい場合は、あなたが
/\G\p{N}[[:alnum:]]*[^[:alnum:]]*/
または
を使用することであり、
\p{N}
は任意の数字、
[[:alnum:]]
マッチ任意の英数字と
[^[:alnum:]]
マッチ英数字でない任意の文字にマッチする
/\A(?:\p{N}[[:alnum:]]*[^[:alnum:]]*)+/
。 another Ruby demoを参照してください。
はい、言葉についての私の緩やかな定義 - 「空白以外の記号の塊」についてあなたは正しいです。 – Dave
確かです。答えは常に正確で、詳細な説明が豊富です。 – Dave