Мне нужно выражение регулярного выражения, чтобы найти любые слова, отформатированные в CamelCase. Примеры включают в себя:
- CamelCase.
- Trunk_Note.
- Мед-Dr.Zung.
- _MyToDo-Дом.
- _MyToDo-Vacation_Cancun
- iOS_GReader
Ключевые моменты:
- Первый символ может быть любым символом, допустимым в имени файла ОС Windows.
- Любой символ может быть любым символом, допустимым в имени файла ОС Windows, включая
.
, - Слово будет ограничено предыдущим
(пробел),
(
или[
и сопровождается(пробел),
)
или]
.
Зачем? Я использую приложение для iOS под названием Trunk Notes для ведения подробных заметок по всем аспектам моей жизни (более 1000 тем, охватывающих более 10 лет работы, семьи и личного контента). Trunk Notes использует Markdown для форматирования контента, но имеет определенную проблему с моими словами CamelCase. При размещении внутри метки или заголовка ссылки, например, iOS_WriteRoom, движок Markdown заглушает и генерирует битый HTML. Подчеркивания (_
) в словах также приводят в замешательство двигатель. Самое простое решение состоит в том, чтобы предшествовать оскорбительному слову с помощью /
, например /iOS_WriteRoom.
Я начал делать ручные правки, но понял, что регулярные выражения должны работать на меня. Таким образом, мое решение для регулярных выражений будет искать соответствующий шаблон и добавлять /
если /
еще не было добавлено.
Заранее благодарю за любые предложения.