Необязательное (открывающее) скобку, но тогда закрытие скобки должно быть обязательнымPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Необязательное (открывающее) скобку, но тогда закрытие скобки должно быть обязательным

Сообщение Anonymous »

Я создал регулярное выражение, которое позволяет пользователям делать формулы в моем приложении. Регулярное выражение, которое у меня есть, работает нормально, однако я хочу, чтобы пользователи сделали открытие и закрытие скобок. < /P>
Мое текущее регулярное выражение: < /p>

Код: Выделить всё

(
^[(N|R)]:   //START WITH N: OR R:

(?:
(?:
[-.0-9]+|BT|PT|PN|PR  //ALLOW 48.934, BT, PT, PN OR PR
)
(?:
\+|\*|\-|\/ //ALLOW OPERATORS /,*,+ and -
)
)+ //REPEAT x TIMES

(?:
[-.0-9]+|BT|PT|PN|PR //MUST END WITH 48.934, BT, PT, PN OR PR
)

(?:
:V //ADD MANDATORY :V
)

(?:
[-.0-9]+ //CLOSE REGEX WITH NUMBER
)
)
< /code>
Несколько примеров, в которых в настоящее время работает регулярное выражение: < /p>
N:0.3*BT/PN*PR:V1
N:2000+PN/BT:V0.5
R:BT*PN-500:V2
Я бы хотел, чтобы регулярное выражение работало с () , которого в настоящее время не для нескольких примеров:
N:(2000+PN)/BT:V0.5
R:BT*(PN-500):V2
< /code>
Я прочитал о позитивном и отрицательном Lookahead, чтобы создать структуры, но я не могу найти правильную логику для моих нужд. < /p>
Очень признателен, если кто -то может направить меня в правильном направлении. < /p>
p.s. Я использую двигатель Regex regex javascript.

Подробнее здесь: https://stackoverflow.com/questions/385 ... -mandatory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»