2009-07-14 6 views
12

Попробуйте, как я мог, я не могу получить RegEx, чтобы исключить пробел или одинарные кавычки.Исключить определенные символы с помощью RegEx

  • Строка "а" разрешен
  • Не допускаются: "a'bc", " ' "' а", " '' '", "ABC ''" и т.д.
  • Spaces может заменить "тоже в приведенном выше примере
  • Продольный и ведущие пространства предполагаются быть удалены уже
  • Пустые строки проверяются в другом месте
  • Целевой язык Javascript

Я бы использовал PATINDEX, если бы был в SQL.

Или НЕ положительный матч на любом пространстве или одинарные кавычки, если я мог бы свести на нет ...

Я пробовал (только для одиночной кавычки)

  • \w*[^']\w*
  • ^\w*[^']\w*$
  • others Я забыл (а)

Пожалуйста, выложи меня из моих страданий, чтобы я мог спать сегодня вечером.

Edit:

  • Целевая строка не будет окружена Quotes. Я думал, что твоя сила может добавить ясность.
  • Если «Язык заданий javascript» неверен, то это C#. Я должен проверить, где именно мы выполняем проверку: клиентский JavaScript или сервер C#
+0

Какой язык регулярного выражения? Python, Perl, C#, Java? Все они очень разные. – Christopher

+0

Это тестовая строка всегда будет окружена двойными кавычками? – laz

ответ

14

^[^\'\ ]*$
?

+1

Я использовал^[^ '] * $ ... Я вижу, где я ошибся. Спасибо – gbn

+0

Да, я всегда избегаю многого ... –

+0

Разве это не стандартнее использовать класс символов \ s для пробелов? (и, по крайней мере, в некоторых вариантах регулярного выражения, \ S соответствует NON-whitespace ...) – jsh

1

Без чтения деталей я не вижу [^ '] там где-нибудь (с пробелом и одной кавычкой).

+0

Правильно. Я изначально тестировал только одну цитату – gbn

+0

.., о которой упоминалось ... – gbn

7

Довольно просто. Не разрешает пустые строки.

^[^' ]+$ 
+0

wuub ответил первым, но спасибо +1. Это также работает. Почему + и не * хотя, пожалуйста? – gbn

+0

+1 для неэкранированной версии.Вы, вероятно, лучше regexper, что я есть :) –

+1

+ вместо *, чтобы запретить пустые строки. –

2

я думаю, что это

^\w*$ 

должен работать как \w не включает в себя одиночные кавычки или пробел.

Смежные вопросы