0

私は正規表現が苦手なので、作業中のいくつかの表現に役立つことがあります。次のようなテキスト行がありText here then 999-99、最後にその数列を分離したいと思います。またはのいずれ999-99999-99-9です。以下はうまくいくようです:

\d{3}-\d{2}(-\d{1})?

しかし、数列の後にテキストを追加でき、それでも一致するため、実際にはテキスト内のどこかを検索しているように見えます。これはより厳密である必要があるため、行はこの正確なシーケンスで終了し、その後は何も終了しない必要があります。$の代わりにで終了しようと?しましたが、一致が作成されないようです(常にfalseが返されます)。

また、文字の置換に役立つ情報を使用することもできます。OCRスキャンを処理するプログラムに取り組んでいますが、返される文字列値に、܀記号で表される表示できない文字が含まれている場合があります。܀文字をスペースに置き換える正規表現はありますか?

4

3 に答える 3

3

この正規表現を試してください。

([\d-]+)$
于 2012-07-05T14:39:09.300 に答える
2

これは機能するはずです。正規表現を。で終了するだけ$です。行末を表します

\d{3}-\d{2}(-\d{1})?$

于 2012-07-05T14:39:25.070 に答える
1

単語境界メタ文字を使用します\b

\b\d{3}-\d{2}(-\d)?\b

冗長なので{1}、最後から削除することもできます。\d

于 2012-07-05T14:38:33.667 に答える