Я хотел бы использовать одно регулярное выражение, чтобы включить полный путь (например,/home/user/java/project/src/main/java/com/website/project/File. java) в соответствующий пакет Java.Regex: полный путь к Java-пакету
Это означает, что я хотел бы удалить все до и включая «java /», имя файла плюс ведущую косую черту. А затем превратите все оставшиеся косые черты в точки.
я, кажется, чтобы быть в состоянии получить довольно далеко, используя следующий пункт матча
.+main\/java\/|\/|[a-zA-Z$]+(\.java)
и замена с точки. (Регулярное выражение в основном ищет все до и включая «main/java /», затем заменяет все/с., А затем удаляет имя файла.
Проблема в том, что у меня теперь слишком много точек, которые я, очевидно, не могу избавиться из, так как я вместо точек :)
И так как я не слишком хорошо с регулярными выражениями, я, вероятно, используя совершенно неправильный подход в любом случае ...
Я бы очень признателен за любую помощь.
PS: К сожалению, мне нужно использовать только одно регулярное выражение, так как я могу только вводить один и не сохранять результаты во временные переменные или что-то в этом роде.
спасибо!
Редактировать
Я пытаюсь создать tmSnippet для TextMate/Sublime Text. Я бы хотел добавить фразу «package com.company.project» (но с фактическим именем пакета, конечно) автоматически к новым файлам. Дело в том, что в таком фрагменте вы можете взять полный путь к файлу и запустить его через регулярное выражение перед выходом. Вот почему я могу использовать только одно регулярное выражение.
Edit2
Я был в состоянии сделать то, что я хотел с помощью питона скрипт и работает, что в качестве команды в Sublime Text. Для заинтересованных, см. Это GitHub commit. Мне все еще интересно, можно ли превратить все это в один RegEx. Я даже не уверен, что это возможно ...
Почему вы избегаете '/' s? –
Я считаю, что он думает в Perl/sed/awk, где слэш - это разделитель регулярных выражений. –
О да, я избегаю косых черт, поскольку это разделитель ... – Tim