Убедитесь что поисковая строка соответствует формату примера

от admin

Убедитесь, что строка соответствует требуемому формату

Я пытаюсь проверить, соответствует ли строка определенному формату, проверяя, что:

  • item[]= повторяется четыре раза
  • За item[]= следует число и символ & (например, item[]=2& ), за исключением того, что после последнего числа не ставится & .
  • Цифры после item[]= состоят только из 1–4 и могут располагаться в любом порядке, но не повторяться.

Вот несколько примеров того, как будет выглядеть строка (как видите, порядок номеров меняется) — обратите внимание, что одновременно будет только одна строка!

Убедитесь, что строка соответствует определенному формату в c

Как можно сравнить строку для соответствия специальному формату в c?

Я хочу проверить, соответствует ли строка «PCn.Value».

т.е. Он должен соответствовать PC1.value, PC2.value.

Вы должны написать фрагмент кода, показывающий, как именно вы хотите проверить, и пометить его комментарием «проверить здесь» или что-то в этом роде. — hyde

4 ответы

sscanf() мог бы помочь

ответ дан 15 апр.

спасибо, это работает sscanf(str, «PC%d.Value», &x) равно 1 при совпадении — Шихаб

Это не проверяет, соответствует ли какая-либо часть «.Value». — военно-картографическая служба

И он допускает такие значения, как «PC-1.Value». — военно-картографическая служба

@ams, вы правы, он допускает такие значения, как «PC 1 .Value» (с пробелами) — МОХАМЕД

Возможно, вы захотите, чтобы формат был «%u» вместо этого разрешать только беззнаковые значения. Хотя это позволит ему соответствовать, например «PC+1.Value» тоже. — Какой-то чувак-программист

Предполагая однозначное число, это, вероятно, достаточно и наиболее эффективно:

В качестве альтернативы, если вам нужны произвольные целые числа без знака:

ответ дан 15 апр.

Вместо этого я использовал «% [0-9]», и это захват строки — МОХАМЕД

Проблема проверки соответствия строки заданному формату — довольно широкая и сложная тема. Как общее решение, регулярные выражения полезный инструмент, как и анализ грамматик выражений. Однако в вашем случае все довольно просто, особенно если n доходит только до 9. Вот очень эффективное с вычислительной точки зрения решение в этом случае:

Убедитесь, что строка соответствует формату строки

В Java, как вы можете определить, соответствует ли строка строке (т.е.: song%03d.mp3 )?

Читать:
Asus p5k какой сокет

Другими словами, как реализовать следующую функцию?

Может быть, есть способ конвертировать строку формата в регулярное выражение?

Разъяснение

Формат String — это параметр. Я не знаю этого заранее. song%03d.mp3 является просто примером. Это может быть любая другая форматная строка.

Если это помогает, я могу предположить, что в строке формата будет только один параметр.

7 ответов

Я не знаю о библиотеке, которая это делает. Ниже приведен пример преобразования шаблона формата в регулярное выражение. Обратите внимание, что Pattern.quote важно обрабатывать случайные регулярные выражения в строке формата.

Конечно, реализация convertToken будет проблемой. Начнем с того, что:

Поскольку вы заранее не знаете формат, вам придется написать метод, который преобразует строку формата в regexp. Не тривиально, но возможно. Вот простой пример для двух тестовых таблиц, которые вы указали:

и некоторый тестовый код:

Вы можете использовать String.matches; хотя вам нужно будет использовать регулярное выражение, а не строку формата.

Не следует слишком сложно заменить что-то вроде% 03d эквивалентом регулярного выражения \d

Как проверить соответствует ли строка заданному формату?

(24) без примера нужного формата мы не можем понять что тебе предложить.

На твое
«нужный» формат

ты получил ответы
запросом или допилить свой метод.
Выбирай.

Ок. По тупому так по тупому.
1 формат
99999/9999/9999999

где 9 — любая цифра, / -символ «/».

(39) То есть ты уже 0.5 года в 1С и задаешь такие вопросы?

Сходи-ка ты на курсы. Вон баннер висит(да, я их вижу, adbloc не установлен), всего 2100 за кашерные курсы.

(43) Ты странный какой-то, все тебе обязаны. Один ты не обязан, можешь ляпнуть что-то и все тут должны прибежать и все рассказать (догадавшись что тебе надо)

По сути, если задачу понимать как «имея ссылку, проверить по маске некое значение в рекизите по ссылке» — правильный ответ — запрос с подобно

Related Posts