有用なテキストだけでなく、不要な数値も多く含むテキスト ファイルをトークン化しようとしています。ただし、 のようなものを使用すると[^a-zA-Z0-9]
、すべての数字が保持されます(0-9)
。
文字に付けられているか、「24hr」や「7-days」のようにハイプネーションが付けられている場合にのみ、数字を保持したいと思います。
したがって、次のように入力します。
次のトークンのリストを返します: 年中無休で利用可能な 24 時間のポジションがあります。
助けてくれてありがとう!
\d+-?[A-Za-z]+|[A-Za-z]+-?\d+|[A-Za-z]+
ここで実際に見てください:http://regexr.com?318em
角かっこは、文字クラスと呼ばれるものを表します。これは、基本的に、このクラスのすべてに一致することを意味します[
。文字と数字の任意の組み合わせに一致します。]
[A-Za-z0-9]
順序を指定する場合は、文字クラスから数字を削除し、その後に別の文字クラスを追加する必要があります。
元:
[0-9]+-?[a-zA-Z]+|[a-zA-Z]+-?[0-9]+|[a-zA-Z]+
[a-zA-Z]+ - matches 1 or more letters
-? - optionally matches a dash
[0-9]+ - matches 1 or more digits
多くの試行錯誤の後、これができました(先頭のスペースに注意してください):
\d[^-a-z]+ | -\d+|[^a-zA-Z0-9-]|[0-9]+-[0-9]+|\W-+|[0-9]+-\W
http://regexr.com?318hp これが必要な人に役立つことを願っています。テキスト処理で不要なトークンを削除するために RapidMiner で使用しています。