Объедините несколько групп регулярных выражений в одном регулярном выражении

Я пытаюсь объединить несколько групп шаблонов регулярных выражений в один шаблон регулярных выражений

Демо Здесь

\b
(?<CASE_UPPER>[[:upper:]]+)
(?<CASE_MIXED>[A-z]*[A-Z][A-z]*+)
(?<CASE_INITIALCAPS>[A-Z][a-z]+[A-Z]*+)
(?<PHRASE>[A-Z][\w-]*\s+[A-Z][\w-]*+)
\b

Для этого текстового блока:

Я тестирую, чтобы увидеть, работает ли это для UPPERCASE, InitialCase и mixedCase, который, конечно, также является mIxedcase. Первоначальный регистр первого слова не должен совпадать. Случай FirstWordMixed должен быть. UPPERCASE первое слово должно быть. И, конечно, фразы, которые сочетают в себе любую комбинацию UPIC mixEd Initicase, следует рассматривать как фразу, а не как слово, которое, конечно, может быть Initcase1 Initcase2 Initcase3. Наконец, оно должно соответствовать всем видам ассоциаций, таким как Ассоциация первых слов, Последнее слово для ассоциации, Средняя группа слов для слов.

Это работает с Одиночной группой, но не работает со всеми вместе. Я не знаю, правильно ли я делаю это! Любая помощь будет оценена.

0

Решение

На основании того, что я понял

Вы можете использовать чередования | объединить различные регулярные выражения

\b
((?<CASE_UPPER>[[:upper:]]+)|
(?<CASE_INITIALCAPS>[A-Z][a-z]+[A-Z]*+)|
(?<CASE_MIXED>[A-z]*[A-Z][A-z]*+)|
(?<PHRASE>[A-Z][\w-]*(\s+[A-Z][\w-]*)+))
\b

Пример регулярного выражения

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]