Regex для поиска специальных символов из строки с некоторыми исключениями - PullRequest
1 голос
/ 13 февраля 2009

Мне нужно написать небольшое регулярное выражение, которое должно совпадать с вхождениями буквального символа *, когда он появляется с любым другим специальным символом Например, мне нужно отловить все эти случаи !* )* (* ** *.*. Исключением являются *= и =*, которые я хочу разрешить. Я пытался написать регулярное выражение как

\W&&[^=]\*|\*\W&&[^=]

но это не похоже на работу. Какие-либо предложения? Большое спасибо за помощь.

Ответы [ 4 ]

2 голосов
/ 13 февраля 2009
(\*[^\w=]|[^\w=]\*)

Соответствует звездочке, за которой следует любой несловесный символ (кроме знака равенства), или несловесный символ, за которым следует звездочка /

1 голос
/ 13 февраля 2009

попробуйте

([^(\W\*)*(\*\W)*]|=\*|\*=)
1 голос
/ 13 февраля 2009

Это соответствует всем вашим плохим образцам:

(\!\*|\)\*|\(\*|\*\*|\*\.\*)

Если вы хотите больше, чем эти 4 случая, опишите немного лучше, что разрешить и что запретить.

0 голосов
/ 13 февраля 2009

Я думаю, что вы ищете регулярное выражение с утверждениями о взглядах назад и о перспективах . Что-то вроде:

(?!=[\=\s])\*(?![\=\s])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...