Как сопоставить только одно алфавитное слово - PullRequest
0 голосов
/ 19 февраля 2020

Это вторая часть более длинного регулярного выражения, которое мне нужно написать, и каким-то образом более сложная половина регулярного выражения, которую я написал, работает отлично. То, чего я пытаюсь добиться, - это сопоставление только букв c символов в одном слове. Тем не менее, то, что мне нужно для обработки / желаемого вывода, будет выглядеть так:

"abc"     // matches
"ABC"     // matches
"abc123"  // does not match
"abc[]"   // does not match
"abc abc" // does not match

То, что я пробовал до сих пор, приближается так:

\b[A-Za-z]+\b

Однако это как-то соответствует «abc []», а также соответствует двойным словам, таким как «ab c ab c». Есть идеи как этого добиться? Что-то на заметку, я использую go для этой проблемы, которая, кажется, не очень хорошо поддерживает группы захвата.

1 Ответ

0 голосов
/ 19 февраля 2020

Если я правильно понимаю ваш вариант использования, я думаю, что ваше регулярное выражение так же просто, как следующие условия:

  • Любой символ от A до Z, без учета регистра, один или несколько раз.
  • Границы в начале и конце строки.

    ^ [a-zA-Z] + $

https://regex101.com/r/lilPqT/1

Обратите внимание на RegEx101.com, что вы можете проверить свои случаи, используя Golang, и полное регулярное выражение для Go:

`(? M) ^ [a-zA -Z] + $ `

https://regex101.com/r/lilPqT/1/codegen?language=golang

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