Как выбрать слова CamelCase в Mysql RegexP - PullRequest
1 голос
/ 06 августа 2020

В 'plain' Regex это работает для меня:

\w+[A-Z][a-z]\w+

согласно этому примеру: https://regex101.com/r/VqsTXL/1

Однако выполнение эквивалента в Regexp не помогает найдите CamelCase:

[[:<:]][A-Z][a-z][[:>:]]

согласно этому примеру: http://sqlfiddle.com/#! 9 / ad35d8 / 1

1 Ответ

1 голос
/ 06 августа 2020

В версии MySQL до 8 вы можете «эмулировать» \w, используя [[:alnum:]_]:

Select * from PatternTester where Binary Name  regexp '[[:alnum:]_]+[A-Z][a-z][[:alnum:]_]+'

См. Демонстрацию регулярного выражения .

SQL:

Create Table PatternTester
(Name varchar(100));
Insert into PatternTester  (Name)
values ('CamelCase'),
('Camelcase'), 
('CAMELCASE'), 
('CamelCase')

Select * from PatternTester where Binary Name  regexp '[[:alnum:]_]+[A-Z][a-z][[:alnum:]_]+'

См. SQL демо .

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