Я пытаюсь объединить несколько групп шаблонов регулярных выражений в один шаблон регулярного выражения
\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 должно быть. И, конечно, фразы, которые сочетают любую комбинацию UPPER mixEd Initicase, следует вытягивать как фразу, а не слово, которое может быть, конечно, Initcase1 Initcase2 Initcase3. Наконец, он должен соответствовать всем сортам ассоциаций, таким как Ассоциация первых слов, последнее слово для ассоциации, Ассоциация среднего слова для слов.
Он работает с единой группой, но не работает со всеми вместе. Я не знаю, правильно ли я делаю это! Любая помощь будет оценена по достоинству.
Основываясь на том, что я понял
Вы можете использовать чередование |
объединить различные регулярные выражения
\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
[Az]
не сделает работу, которую вы ожидали.