Как сопоставить строку, которая не содержит конкретной строки - PullRequest
0 голосов
/ 11 января 2019

Я хотел бы написать регулярное выражение в Go, чтобы соответствовать строке, только если она не содержит определенной подстроки (-numinput) и содержит другую конкретную строку (-setup).

Пример, для inputStr

Следующие типы строк НЕ должны совпадать, поскольку присутствует -numinput

str = "axxx yy  -setup  abc -numinput 12345678 aaa"

Следующие типы строк должны соответствовать, так как -setup присутствует и -numinput отсутствует

str = "axxx yy  -setup  abc aaa"

Следующие типы строк не должны совпадать, так как -setup отсутствует, хотя -numinput отсутствует

str = "axxx yy abc aaa"

Я сталкивался с некоторыми сообщениями, такими как Регулярное выражение для соответствия строке, в которой нет слова?

Но я просто не понимаю, как это сделать на Голанге

1 Ответ

0 голосов
/ 11 января 2019

Если вы хотите разобрать флаги командной строки, рассмотрите возможность использования пакета флагов

https://golang.org/pkg/flag/

Для общей функциональности, связанной со строками, рассмотрим пакет строк

https://golang.org/pkg/strings/

В вашем случае:

strings.Contains(str, "-setup") && !strings.Contains(str, "-numinput")
...