Я пытаюсь написать регулярное выражение, которое должно получить только следующие шаблоны: < /p>
WordWihoutNumbers.WordWihoutNumbers='value'< /code> < /p>
и шаблоны с несколькими субпючениями, такими как: < /p>
WordWihoutNumbers.WordWihoutNumbers='value' OR WordWihoutNumbers.WordWihoutNumbers='value2' AND WordWihoutNumbers.WordWihoutNumbers='value3'< /code> < /p>
WordWihoutNumbers< /code> должно быть как минимум двумя символами и без цифр. /> < /ul>
, а это не так: < /p>
=>. Отсутствует < /li>
hardware.make’lenovo '=> = отсутствует < /li>
< /ul>
Я использовал regexbuddy, чтобы написать следующую строку regex: < /p>
(?i)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+'(\s)*((\s)*(AND|OR)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+')*
< /code>
Когда я тестировал его, используя regexbuddy, это работало нормально, но когда я использую его внутри моего C# кода, я всегда получаю «false 'result. < /p>
Что я делаю не так?string expression = "Hardware.Make=’Lenovo’ OR User.Sitecode=’PRC’";
Regex expressionFormat = new Regex(@"(?i)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+'(\s)*((\s)*(AND|OR)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+')*");
bool result = expressionFormat.IsMatch(expression );
< /code>
и параметр результата всегда является false < /code> < /p>
Обновление: благодаря @nhahtdh за его комментарий, я использовал ’< /code> в моей входной проверке вместо« /code>
Is Add Ada Codate> Valtes также: для этого также для этого выражения, чтобы также добавить, чтобы также добавить к этому выражению, чтобы также добавить к этому выражению.WordWihoutNumbers.WordWihoutNumbers='value' OR WordWihoutNumbers.WordWihoutNumbers='value2') AND WordWihoutNumbers.WordWihoutNumbers='value3'< /code>) действителен, но < /p>
)WordWihoutNumbers.WordWihoutNumbers='value' OR WordWihoutNumbers.WordWihoutNumbers='value2') AND WordWihoutNumbers.WordWihoutNumbers='value3'< /code>) недействителен. < /p>
Можно ли реализовать с помощью Regex? У вас есть идея? < /p>
Подробнее здесь: https://stackoverflow.com/questions/215 ... arenthesis
Регулярное выражение простого логического выражения со скобкой ⇐ C#
Место общения программистов C#
-
Anonymous
1759763719
Anonymous
Я пытаюсь написать регулярное выражение, которое должно получить только следующие шаблоны: < /p>
WordWihoutNumbers.WordWihoutNumbers='value'< /code> < /p>
и шаблоны с несколькими субпючениями, такими как: < /p>
WordWihoutNumbers.WordWihoutNumbers='value' OR WordWihoutNumbers.WordWihoutNumbers='value2' AND WordWihoutNumbers.WordWihoutNumbers='value3'< /code> < /p>
WordWihoutNumbers< /code> должно быть как минимум двумя символами и без цифр. /> < /ul>
, а это не так: < /p>
=>. Отсутствует < /li>
hardware.make’lenovo '=> = отсутствует < /li>
< /ul>
Я использовал regexbuddy, чтобы написать следующую строку regex: < /p>
(?i)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+'(\s)*((\s)*(AND|OR)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+')*
< /code>
Когда я тестировал его, используя regexbuddy, это работало нормально, но когда я использую его внутри моего C# кода, я всегда получаю «false 'result. < /p>
Что я делаю не так?string expression = "Hardware.Make=’Lenovo’ OR User.Sitecode=’PRC’";
Regex expressionFormat = new Regex(@"(?i)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+'(\s)*((\s)*(AND|OR)(\s)*[a-z][a-z]+(.[a-z][a-z]+)(\s)*=(\s)*'[a-z0-9]+')*");
bool result = expressionFormat.IsMatch(expression );
< /code>
и параметр результата всегда является false < /code> < /p>
Обновление: благодаря @nhahtdh за его комментарий, я использовал ’< /code> в моей входной проверке вместо« /code>
Is Add Ada Codate> Valtes также: для этого также для этого выражения, чтобы также добавить, чтобы также добавить к этому выражению, чтобы также добавить к этому выражению.WordWihoutNumbers.WordWihoutNumbers='value' OR WordWihoutNumbers.WordWihoutNumbers='value2') AND WordWihoutNumbers.WordWihoutNumbers='value3'< /code>) действителен, но < /p>
)WordWihoutNumbers.WordWihoutNumbers='value' OR WordWihoutNumbers.WordWihoutNumbers='value2') AND WordWihoutNumbers.WordWihoutNumbers='value3'< /code>) недействителен. < /p>
Можно ли реализовать с помощью Regex? У вас есть идея? < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/21577651/regular-expression-of-simple-boolean-expression-with-parenthesis[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия