Исключить определенные символы, используя RegEx - PullRequest
12 голосов
/ 15 июля 2009

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

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

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

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

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

  • \w*[^']\w*
  • ^\w*[^']\w*$
  • другие, которые я сейчас забыл

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

Edit:

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

Ответы [ 4 ]

14 голосов
/ 15 июля 2009

^[^\'\ ]*$
?
7 голосов
/ 15 июля 2009

Довольно просто. Не допускает пустых строк.

^[^' ]+$
2 голосов
/ 15 июля 2009

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

^\w*$

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

1 голос
/ 15 июля 2009

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

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