Я не слишком хорош с регулярными выражениями, поэтому это может быть очевидный вопрос.
Я хочу, чтобы мое выражение совпало, если найдено определенное количество символов и сбой, если присутствуют какие-либо дополнительные символы. Например, если у меня есть строка, которая должна содержать 4 цифры, должно быть верно следующее.
1234 - матч
ab1234cd - не соответствует
012345 - не соответствует
То, что я до сих пор, это \d {4}, но я понимаю, что это будет просто соответствовать любой строке, которая содержит в себе четыре цифры. Я хочу совместить только в том случае, если строка содержит 4 цифры и ничего больше.
Любая помощь будет оценена по достоинству. Спасибо.
Используйте ^ и $, чтобы отметить начало/конец строки.
В зависимости от того, как вы его реализуете (однолинейный или многострочный режим), вы можете использовать нечто похожее на:
^\d{4}$
Чтобы соответствовать только (начало строки) четыре цифры (конец строки).
\ b [0-9] {4}\b или ^\d {4} $должны работать. Может быть, я мог бы немного рассказать о том, что сказал GrayWizardx (на всякий случай, если вы не используете регулярные выражения на С#, что много), регулярные выражения, приведенные выше, ищут строки, которые имеют только 4 цифры. По умолчанию (если память мне хорошо подходит), механизм регулярных выражений смотрит только на первую строку, поэтому, если у вас есть строка из более чем одной строки, и вы хотите проверить всю строку (например, строка была загруженный из файла), вы должны добавить параметр RegexOptions.MultiLine. таким образом, двигатель также посмотрит на другие линии.
Надеюсь, что это было полезно:)
Я считаю, что \b[0-9]{4}\b
должен сделать трюк.
^\d{4}$
для строки, которая содержит ровно четыре цифры.