2015-03-09 5 views
-1

Мое назначение гласит: «Приведите пример строки, представленной каждым из следующих регулярных выражений».Строковые примеры регулярных выражений?

Я сумел сделать все из них ожидают одно:

[0-9]+ ((E|e) (\+|\-)? [0-9]+)? 

Я не понимаю, что подразумевается под (\+|\-)?.

+1

Я голосую, чтобы закрыть этот вопрос не по теме, потому что она просит дать ответ на проблемы в выполнении домашних заданий. – zzzzBov

+0

@zzzzBov На самом деле я считаю, что он просто спрашивает, что означает '(+ | -)?'. Он явно не просит консервированного решения. –

+0

@ LucasTrzesniewski, он не потрудился пометить соответствующий язык, и простой поиск в Google для синтаксиса regex приведет к ответу. Я не склонен держать это вокруг. – zzzzBov

ответ

0

Это просто означает, что знак плюс или минус является необязательным.

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

Так что что-то может быть действительным

500 E + 44 
1

Так как + и - специальные символы в регулярных выражениях они должны быть спасся при сопоставлении их. Так \- соответствует - и \+ соответствует +. Также ? делает матч необязательным.

Поэтому:

(\+|\-)? matches either + or - or nothing at all 

- знак не всегда особенный и, видимо, могут быть сопоставлены непосредственно или в виде сбежавшего.

Пример:https://regex101.com/r/kP2tP8/1

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