Регулярное выражение - соответствует любой строке, не начинающейся с +, но разрешающей +1

Мне нужно регулярное выражение для JavaScript, которое будет соответствовать любой строке, которая не начинается с символа + . За одним исключением строки, начинающиеся с +1 , допустимы. Пустая строка также должна совпадать.

Например:

"" = true
"abc" = true
"+1" = true
"+1abc" = true
"+2" = false
"+abc" = false

На данный момент я обнаружил, что ^ (\ + 1 | [^ +]?) $ обрабатывает часть +1 , но я не могу похоже, он позволяет разрешить больше символов после без аннулирования первой части. Я думал, что ^ (\ + 1 | [^ +]?). *? $ будет работать, но, похоже, он соответствует всему.

6
задан Felix Kling 19 November 2011 в 00:24
поделиться