Если вы не возражаете сохранить свои локальные изменения, но все же хотите обновить свой репозиторий в соответствии с начальником / HEAD, вы можете просто скопировать ваши локальные изменения, а затем потянуть:
git stash
git pull
Чтобы сопоставить pattern
или пустую строку, используйте
^$|pattern
^
и $
- начало и конец строки якоря соответственно. |
используется для обозначения альтернатив, например this|that
. \b
\b
в большинстве случаев это якорь «граница слова». Это совпадение с нулевой шириной, то есть пустая строка, но она соответствует только этим строкам в очень специфических местах , а именно на границах слова.
То есть \b
:
\w
и \W
(любой порядок): то есть между символом слова и символом не-слова ^
] и \w
, т.е. в начале строки, если она начинается с \w
\w
и $
, т.е. в конце строки, если она заканчивается на \w
Это не тривиально в зависимости от спецификации.
Альтернативой было бы разместить ваше регулярное выражение в невостребованных круглых скобках. Затем сделайте это выражение необязательным, используя квалификатор ?
, который будет искать 0 (т. Е. Пустую строку) или 1 экземпляр незахваченной группы.
Например:
/(?: some regexp )?/
В вашем случае регулярное выражение будет выглядеть примерно так:
/^(?:[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+)?$/
Нет |
"или" необходим оператор!
Здесь Документация Mozilla для синтаксиса регулярного выражения JavaScript.
Я не уверен, почему вы хотите проверить дополнительный адрес электронной почты, но я бы посоветовал вам использовать
^$|^[^@\s]+@[^@\s]+$
, что означает
^$ empty string
| or
^ beginning of string
[^@\s]+ any character but @ or whitespace
@
[^@\s]+
$ end of string
Вы выиграли 't прекратить поддельные электронные письма в любом случае, и таким образом вы не прекратите действительные адреса.
\ b соответствует границе слова. Я думаю, вы можете использовать ^ $ для пустой строки.