2017-06-21 4 views
1

streetname + doornoを文字列変数に受け取ります。私はそれらを分割する必要があります。私の現在の正規表現は/[0-9].*$/です。これは正常なアドレスでは問題ありません。しかし、私はstreetnameにも数値が入っているアドレスを持っています。この場合、streetnamedoornoとみなされます。 EXのために正規表現を使用して最後の数値オカレンスの後の単語を取得します

[Correct] Street = Example Street 15B returns doorno = 15B 

[Correct] Street = Example Street 15 B returns doorno = 15 B 

[Correct] Street = Example Street returns doorno = null 

[Correct] Street = Example Street15 returns doorno = 15 

[Incorrect] Street = Example Street 158 7 returns doorno = 158 7. However I am expecting, the streetname = Example Street 158 & doorno = 7 

[Incorrect] Street = Example Street 158 7 B returns doorno = 158 7 B. However I am expecting, the streetname = Example Street 158 & doorno = 7 B 

[Incorrect] Street = Example Street 158 7B returns doorno = 158 7B. However I am expecting, the streetname = Example Street 158 & doorno = 7B 

[Incorrect] Street = Example Street158 7 B returns doorno = 158 7B. However I am expecting, the streetname = Example Street158 & doorno = 7B 

は、誰かが間違って上記のケースのために正規表現を修正するために私を助けてくださいことはできますか?

+1

「/ ^(。* \ D)(\ d。*)$/' –

+0

本当にありがとう –

答えて

0

あなたはそれが一致する

/^(.*\D)(\d.*)$/ 

を使用することがあります。

  • ^ - グループ1 - 文字列
  • (.*\D)の開始:(改行文字以外の)任意の0+文字まで後続のサブパターンの最後の出現(すなわち、\D\d.*$
  • (\d.*) - グループ2:数字とその後の任意の0 +文字(改行文字以外)
  • $ - 文字列の最後。
関連する問題