Регулярное выражение, за исключением специального символа дефиса (-) - PullRequest
0 голосов
/ 09 мая 2020

У меня есть длинный текст, где я должен искать 16-символьное слово, которое начинается с c

Я написал следующее регулярное выражение:

c[^\s\—][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-][^\s\-]

Но,

он соответствует ниже 2 словам

commodity—anythi
circumnavigation

Я изучаю регулярное выражение, но из того, что я знаю до сих пор, карат ^ должен исключать дефис - из моих результатов, поэтому я не могу объяснить, как commodity—anythi отображается в моих результатах?

I был бы признателен, если бы кто-нибудь мог объяснить мне такое поведение. Спасибо.

1 Ответ

1 голос
/ 09 мая 2020

Как указано в комментариях, у вас здесь два символа, знак минус и da sh: не равно -. Кроме того, рассмотрите возможность использования квантификаторов:

c[^\s\—]+

См. Сравнение на regex101.com .

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