Ниже приведены 5 примеров, и я пытаюсь найти 3,4,5, исключая 1,2.
- AB C -ab c
- ab c -AB C
- AB C -AB C
- AB C
- vAB C -AB C -ABCv
Текущее выражение, которое я использую:
(?!(\w*[A-Z]{2,}-[a-z]+\w*|\w*[a-z]+-[A-Z]{2,}\w*))(\w*-?[A-Z]{2,}-?\w*)
- Я использую (\ w * -? [AZ] {2,} -? \ W * ) сначала получить все возможности всех примеров.
- Затем я использую (?! ... | ...), чтобы поставить два условия исключения.
- Первое условие исключения - \ w * [AZ] {2,} - [az] + \ w *, а второе - \ w * [az] + - [AZ] {2,} \ w *.
- Это выражение работает для исключения 1 .AB C -ab c, но не ab c -AB C.
Я много искал и обнаружил, что некоторые люди говорят, что это не то, что регулярное выражение "хорошо" в. Есть ли какое-либо решение или улучшение, которое я могу сделать, чтобы избавиться от ab c -AB C.
Благодарю за любую помощь или мнение.