Регулярное выражение для соответствия только прописным «словам» с некоторыми исключениями

У меня есть следующие технические строки:

"The thing P1 must connect to the J236 thing in the Foo position."

Я хотел бы сопоставить с регулярным выражением те слова только в верхнем регистре слова (а именно здесь P1 и J236 ). Проблема в том, что я не Я хочу сопоставить первую букву предложения, если это однобуквенное слово.

Пример, в:

"A thing P1 must connect ..." 

Я хочу только P1 , а не A и P1 . Поступая так, я знаю, что могу пропустить настоящее «слово» (например, в «X должен соединиться с Y» ), но я могу жить с этим.

Кроме того, я не хочу сопоставлять слова в верхнем регистре, если предложение написано полностью в верхнем регистре.

Пример:

"THING P1 MUST CONNECT TO X2."

Конечно, в идеале я хотел бы сопоставить технические слова P1 и X2 здесь, но поскольку они «спрятаны» в предложении, состоящем только из заглавных букв, и поскольку эти технические слова не имеют определенного шаблона, это невозможно. Я снова могу смириться с этим, потому что в моих файлах не так часто встречаются предложения, состоящие только из прописных букв.

Спасибо!

27
задан Pavlo Zhukov 23 August 2017 в 11:08
поделиться