как проверить адрес с помощью регулярных выражений Scala Spark - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу подтвердить адрес в моих данных, формат проверки Проспект Блок-Б 123. то есть символ числа с пробелом с некоторым специальным символом, чем символ пробела Но когда я попытался использовать регрессию, она не работает, я пишу так

val x = if

("""^[-0-9!#$%&'*+/=?^_`{|}~]+(\.[-0-9!#$%&'*+/=?^_`{|}~]+)*\s*\[a-zA-Z,.-:]*\s*\[a-z]*\.""".
r.
findFirstIn
(Address)
 == N
one)

 { 

             false
           }
           else {
                 true}

Но вышеупомянутый не работает

123 xyx avenue.--> false

abc 986 street.--> false

1/1 block-D street.--> false

123 9876block park--> false

result should be

123 xyx avenue.--> true

abc 986 street.--> false

1/1 block-D street.--> true

123 9876block park--> false

Может ли кто-нибудь помочь здесь, используя Scala Spark

1 Ответ

0 голосов
/ 12 сентября 2018

Использование этого регулярного выражения:

"""\d+\W?\d+ [a-zA-Z]+\W?[a-zA-Z]+ [a-zA-Z.]+""".r

В Scala REPL : желаемые результаты для заданного тестовый ввод может быть получен, как показано ниже.

scala> val Address = "123 xyx avenue."
Address: String = 123 xyx avenue.

scala> val x =if( """\d+\W?\d+ [a-zA-Z]+\W?[a-zA-Z]+ [a-zA-Z.]+""".r.
     | findFirstIn(Address)==None){false} else { true }
x: Boolean = true

scala> val Address = "abc 986 street."
Address: String = abc 986 street.

scala> val x =if( """\d+\W?\d+ [a-zA-Z]+\W?[a-zA-Z]+ [a-zA-Z.]+""".r.
     | findFirstIn(Address)==None){false} else { true }
x: Boolean = false

scala> val Address = "1/1 block-D street."
Address: String = 1/1 block-D street.

scala> val x =if( """\d+\W?\d+ [a-zA-Z]+\W?[a-zA-Z]+ [a-zA-Z.]+""".r.
     | findFirstIn(Address)==None){false} else { true }
x: Boolean = true

scala> val Address = "123 9876block park"
Address: String = 123 9876block park

scala> val x =if( """\d+\W?\d+ [a-zA-Z]+\W?[a-zA-Z]+ [a-zA-Z.]+""".r.
     | findFirstIn(Address)==None){false} else { true }
x: Boolean = false

scala>
...