Я пытаюсь проверить строковые данные, используя регулярное выражение. Форма входных данных приведена ниже.Как выразить «с хотя бы одним компонентом»
#[email protected] (valid)
<--nothing (valid)
#1X2Y3Z (valid)
#@4A (valid)
#[email protected] (invalid)
@
должны следовать путем сопоставления по меньшей мере, один компонент ([0-9]+)A
, ([0-9]+)B
или ([0-9]+)C
И #
должен быть первым символом, если ввод не пустая строка.
Я написал это регулярное выражение:
#(([0-9]+)X)?(([0-9]+)Y)?(([0-9]+)Z)[email protected](([0-9]+)A)?(([0-9]+)B)?([0-9]+)C)?
, но он считает #[email protected]
действительным.
Вы имеете в виду это '^ @ [ABC] + $'? –
Что вы хотите точно проверить? и какой язык вы используете? – Mohammad
Благодарим вас за помощь, я хочу проверить, представлен ли @ с хотя бы одним компонентом {A, B, C} или более. поэтому «A», «AC», «@» недействительны, «@A», «@AC» действительны и пустая строка также действительна. и я использую std: regex – joejo