Regex

2017-01-02 7 views
-3

を使用して右のid5から9番目の数字が5番目の数字かどうかを確認することができます。Regex

私は右から9 番目の数字をチェックしたい5つのです:

00966588696745 
    ^-True 
12088696748 
    ^-False 

は、それは可能ですか?

+0

は皆を助け説明を願っていた文字列

の終了前に、正確に8文字を持っていることを保証します。何を試したのか、それがあなたのニーズを満たしていない理由を教えてください。これは、時間をかけて自分自身を助けようとしていることを示しています。明白な回答を繰り返さないようにしてくれています。そして、より具体的で適切な答えを得ることができます。参照:[ask] –

+2

'-9'に' $ start'引数を、 '1'に' $ length'を設定して 'substr'を使います。 –

+0

電話番号が正しいかどうかを確認するためのものです。 – user3763103

答えて

1

あなたは先読み使用することができます。これは、あなたのテスト文字列は、8桁の文字列の末尾に続く5が含まれていることを確認します5(?=\d{8}$)

を。

+0

ありがとうございます。この電話番号00966588696748をチェックするには、右側の9ステップから数えて9番目の数字が5であるかどうかをチェックします。このように私は最後の9つの数字 "588696748"をとり、一致しない場合は最初の数字が正しい条件より5です。それをしてもいいですか ? – user3763103

+0

@ user3763103 it [作品](https://ideone.com/tDsoVF) –

+0

ありがとうございます、私が欲しい^^ – user3763103

0

次のように、この単純なバージョンは、次のようになります。

^5.{8}$ 


説明:
^から
文字列の先頭から探し始める - あなたがそのようにしたいです文字列は、5
で始まります。 - 任意の文字。しかし、それが数字だけであることを保証する必要があれば、代わりに\ dを使用する必要があります(\は重要です)。
{8} - 8文字の任意の型が必要です(ドット: '。'を使用します)
$ - 文字列の最後を意味します。これは、あなたが、私はこの答えは便利ですし、あなたの研究を共有regExprの内部の部品