Как написать регулярное выражение, которое включает все символы клавиатуры, кроме '~' и ','?
Регулярное выражение, которое включает в себя все символы клавиатуры, кроме '~' и ','
Ответ 1
Вы пробовали это?
[^~,]
Теперь, чтобы исключить символы не на клавиатуре, я считаю, что вы должны включить их все.
[a-zA-Z0-9\t\n ./<>?;:"'`[email protected]#$%^&*()\[\]{}_+=|\\-]
Которая в значительной степени покрывает его (хотя это выглядит как сумасшедший способ добиться успеха). Возможно, определение проблемы поможет вам добавить больше материалов для исключения в первом списке [^~,]
, чем попытаться создать огромный список всех клавиатурных символов.
Ответ 2
Вы не сказали, какой язык/инструмент вы используете, но в Java я бы пошел с этим регулярным выражением:
"[\\p{Print}&&[^~,]]"
Это пересечение двух наборов: все печатные символы ASCII и все символы, которые не являются тильдой или запятой.
Ответ 3
Мне приходилось делать это для регулярного выражения:
"[^~,][^~,]*"
потому что [^~,]
отрицает ~
и ,
[^~,]*
означает в нуле или много копий ~
и ,
(что бесполезно для нашего случая)
и, положив [^~,][^~,]*
, вы можете отменить одну или несколько копий ~
или ,
Ответ 4
Это сработало для меня:
[A-Za-z0-9-]+[ 0-9A-Za-z#$%[email protected]!{},`~&*()'<>?.:;_|^/+\t\r\n\[\]"-]*
Ответ 5
Reg-Ex для всех поддерживаемых клавиш клавиатуры работал у меня:
/^[[email protected]?#"$%&:';()*\+,\/;\-=[\\\]\^_{|}<>~` ]+$/
За исключением символов "~" и ",":
/^[[email protected]?#"$%&:';()*\+\/;\-=[\\\]\^_{|}<>` ]+$/