2014-02-05 4 views
-3

Я встретил следующее регулярное выражение в программе и изо всех сил пытаюсь понять, что пытается сделать. Кто-нибудь может мне помочь? Я только начал изучать этотКак оценивать регулярное выражение?

l = Z + lo <= lf ? lo : lf - z; 
+3

Это больше похоже на тройной оператор – pcnThird

+2

верить. Это серьезно? –

+2

Вопрос не очень хорошо исследован, он не показывает никаких шагов или усилий, предпринятых при решении проблемы в первую очередь. Этого достаточно для downvote, и я даже не запустил его. –

ответ

1

Это, скорее всего, использование тройного оператора, несмотря на скрытом внешний вид, который, как правило, приписывается Regexps:

l = ((z + lo) <= lf) ? lo : (lf - z); 

Это еще один способ написания следующего :

if(z + lo <= lf) 
    l = lo; 
else 
    l = lf - z; 

Этот документ охватывает тройной оператор:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

Относящиеся SO сообщений:

How does the ternary operator work?

Edit: код вы вывесили может быть использован в качестве Regex: http://www.rubular.com/r/Svr9S7EaCP

+1

Благодарим вас за разъяснение этого. очень полезно. Теперь я немного смущен, потому что ошибаюсь – user3273276

Смежные вопросы