1

有用なテキストだけでなく、不要な数値も多く含むテキスト ファイルをトークン化しようとしています。ただし、 のようなものを使用すると[^a-zA-Z0-9]、すべての数字が保持されます(0-9)

文字に付けられているか、「24hr」や「7-days」のようにハイプネーションが付けられている場合にのみ、数字を保持したいと思います。

したがって、次のように入力します。

次のトークンのリストを返します: 年中無休で利用可能な 24 時間のポジションがあります。

助けてくれてありがとう!

4

3 に答える 3

3
\d+-?[A-Za-z]+|[A-Za-z]+-?\d+|[A-Za-z]+

ここで実際に見てください:http://regexr.com?318em

于 2012-06-13T15:47:16.823 に答える
0

角かっこは、文字クラスと呼ばれるものを表します。これは、基本的に、このクラスのすべてに一致することを意味します[。文字と数字の任意の組み合わせに一致します。][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
于 2012-06-13T15:53:27.693 に答える
0

多くの試行錯誤の後、これができました(先頭のスペースに注意してください):

     \d[^-a-z]+ | -\d+|[^a-zA-Z0-9-]|[0-9]+-[0-9]+|\W-+|[0-9]+-\W

http://regexr.com?318hp これが必要な人に役立つことを願っています。テキスト処理で不要なトークンを削除するために RapidMiner で使用しています。

于 2012-06-13T20:33:57.157 に答える