Вы можете объединить if
условия для вашего регулярного выражения следующим образом:
@"^(?!.*//)[^""\\:|<>*?]*(?<!/)$"
^^^^^^^^ ^^^^^^
Смотрите regex demo at RegexStorm (немного изменено там, так как это многострочный строка демо)
(?!.*//)
является отрицательным опережением, что проиграет матч, если двигатель найдет //
где-то после символов 0+, кроме новой строки (.*
), а (?<!/)
- это отрицательный lookbehind, который потерпит неудачу, если есть /
прямо до конца o f строка.
HOWEVER, многие пользователи говорят, что это плохая практика, чтобы втиснуть все условия в 1 регулярное выражение, пожалуйста, подумайте над тем, чтобы выбрать более читаемый подход (тот, который у вас есть сейчас, разделить условия).
Вы имели в виду 'FileDirectoryRegex.IsMatch (folderName)'? –
Нет, я хочу изменить свое регулярное выражение. Он должен включать последний 'if'. Я не хочу иметь их обоих: 'if' и' regex' – Anatoly
Я думаю, вам нужно '@"^(?!. * //) [^ "" \\: | <> *?] * (?