2017-05-17 17 views
1

文字列が '123'で始まる場合、直後の文字が数字でない場合にのみ一致させようとしています。Python正規表現一致後の文字が一致しません

例えば、これらは一致します

  • '123'
  • '123.4'
  • '123A'

しかし、これらは一致しません:

  • '124'
  • 「1234」
  • 「1235.3」

私は、私が使用することができ、数字で終わらない文字列とだけ心配していた場合:

'^123(?!.*\d$)' 

しかし、これは私が探していますものではありません。私は一致文字列の直後の文字が数字でないかどうかを探しています。

+0

:あなたはたぶん、あなたが変更することができ、その場合には、完全な文字列をキャプチャしたいお好み

の任意の数量詞と{1}を置き換えることができます (?!\ d) ' – anubhava

+0

これは'^123(?:\ D | $) 'でも動作します。 – user3519936

+1

@anubhavaあなたが正しいと思って、前のコメントを編集しました! – user3519936

答えて

1

私の一致文字列の直後の文字が数字でないかどうかを探しています。

あなたは、この正規表現を使用することができます。

^123(?!\d) 

(?!\d)123後の次の文字が数字である場合は、障害をアサートする否定先読みです。

RegEx Demo

+0

@ AJG519:これはうまくいきましたか? – anubhava

1

anubhavaの答えが正しいか、あなたはまた、私は単純だと思うれ、これを使用することができます。

^123\D{1}

\Dは任意の数字以外の文字に一致します。あなたは `^ 123を使用することができます

^123\D{1}.*

Demo

関連する問題