|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
||||||||||||
Java Regexp получить подстроку20.03.2011, 19:51. Показов 13811. Ответов 18
Можно ли каким нибудь образом получить подстроку/подстроки найденные при помощи regexp'a?
к примеру, чтобы такой вызов вернул "Anton"?
уже нашел String input =
Возник еще другой вопрос: Как из строки, начинающейся на ls, вытащить из строки все слова, которые должны быть отделены между собой и от ls одним или несколькими пробелами или табуляциями? В конце строки может стоять знак ';', а слова должны состоять только из заглавных и прописных латинских букв цифр и знаков '-', '_', '.', '/'? пример "ls /var/www ./folder/ ;" матчер должен найти /var/www и ./folder/. Пробовал так, но он возвращал всю строку если она удовлетворяла данному regex'у не выбирая слова из нее... а иногда вообще ничего не писал...
0
|
||||||||||||
| 20.03.2011, 19:51 | |
|
Ответы с готовыми решениями:
18
Java. Криво работает код, который ищет в строке подстроку Нужно получить все соответсвия по маске одной командой (regexp) Как на JS с помощью объекта regexp получить массив всех совпадений? |
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 20.03.2011, 20:39 | ||||||
|
Вот это выражение
1
|
||||||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
||
| 20.03.2011, 20:57 [ТС] | ||
|
спасибо, я потихоньку вникаю в особенности java-regexp'а...
вот вывод
0
|
||
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 20.03.2011, 21:24 | ||||||
1
|
||||||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
|||||||||||
| 21.03.2011, 15:42 [ТС] | |||||||||||
|
я вот такое придумал...
Добавлено через 15 минут и подойдет ли для валидации пути в *nix данная регулярка с учетом экранации пробелов?
нет второй не работает((( Добавлено через 11 минут как проверить коректность введенного пути *nix с учетом обязательной экранации пробелов???
0
|
|||||||||||
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 21.03.2011, 16:14 | ||||||
0
|
||||||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
|
| 21.03.2011, 17:32 [ТС] | |
|
Ваша подпись говорит мне что вы знакомы с Debian'ом. Вот какие пути Debian разрешает, такие и надо и наоборот)
и опять же нет учета экранации пробела...но и не надо. я придумал как сделать)
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 21.03.2011, 18:16 | |
|
gGrn-7DA, вам надо, чтобы в пути могли быть пробелы? Последний мой вариант их разрешает, запрещая их только в начале и конце имени фолдера/файла
0
|
|
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
||||||||
| 21.03.2011, 19:05 [ТС] | ||||||||
|
оооо спс!)сразу не понял что он делает)
а тпереь про экранацию пробелов. должна проходить валидацию запись
проверяю есть ли в строке символ ",". если да - ошибка, иначе замещаю "\ " на ",". и теперь надо провести предыдущую проверку только заместо пробела учитывать знак ","... но у меня не проходит такая проверка((( Добавлено через 23 минуты вот вроде работает...привожу кусок кода.
забыли про про точку в начале пути и двоеточие...ну это уже сам попробую сначала)
0
|
||||||||
|
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
||||||
| 21.03.2011, 19:19 | ||||||
|
gGrn-7DA, настоятельно рекомендую почитать Фридла и документацию.
Как думаешь каким будет результат?
0
|
||||||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
|||||||||||||||||||||||||||||||||||
| 21.03.2011, 20:45 [ТС] | |||||||||||||||||||||||||||||||||||
|
вот добавил поддержку пути "/" и путей еачинающихся с "./" и "../".
осталось добавить поддержку "/./" и "/../" в середине путей...
спс
но все равно следующую валидацию не пройдет... я кавычки обрезаю и пускаю дальше....
Вот написал для поддержки "/./" и "/../" в середине путей... но оно пропускает любое количество точек....
Вот ОН - мой шедевр)))
Добавлено через 1 минуту блиииин
нашел где. когда ".." возврат на директорию выше и сразу имя файла нач с точки... Добавлено через 11 минут о_О Линукс позволяет создавать файлы и директории, начинающиеся с любого количества точек и только из них состоящие, если они не совпадают с "." и "..", потому как те уже существуют) но создать файл одноименный с директорией почему-то не дает) Добавлено через 15 минут вот конечный вариант кода:
блин!!!! никсы еще и : в именах разрешают... а какие они символы вообще разрешают? запрещает он только
0
|
|||||||||||||||||||||||||||||||||||
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|||||||||||||
| 21.03.2011, 21:42 | |||||||||||||
Пока вот последний вариант:
0
|
|||||||||||||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
|||||||
| 21.03.2011, 22:04 [ТС] | |||||||
|
Добавлено через 5 минут если так сделать то /g/ не пройдет...требуется /[\w]{2}/ что бы пройти валидацию... Добавлено через 2 минуты ладно при заключении в ' ' можно их пользовать, а иначе - нет? Добавлено через 6 минут кхе-кхе
ладно, тогда какие символы нельзя пользвать без заключения в ' '...
0
|
|||||||
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 21.03.2011, 22:09 | ||||||
0
|
||||||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
||||||
| 21.03.2011, 22:29 [ТС] | ||||||
|
вот головная боль то. Все симолы можно экранировать и будет пахать.
как отследить отсутствие экранации у симолов " ", "<", ">", "*", "|" ? как оказалось только они требуют... Добавлено через 12 минут такое пойдет?
0
|
||||||
|
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
|
| 22.03.2011, 09:42 | |
|
0
|
|
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
||||||
| 23.03.2011, 17:41 [ТС] | ||||||
|
Сдал я это приложение консольное. Функционал свелся к просмотру содержимого директории + смена текущей директории + man. Ну все это расписано при запуске. Для его работы требуется консоль!))
Принимаю отзывы и предложению по улучшению интерфейса или увеличению функционала: в последствии думаю добавить команды touch, mkdir(s) и cat. А если осилю, то и nano(надеюсь лицензионные права этим не нарушу?).)))
0
|
||||||
|
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
||
| 24.03.2011, 07:08 | ||
|
2. Все регулярки лучше скомпилить заранее, а не перекомпилировать их внутри цикла. 3. А если у какой-то команды тебе понадобится еще один параметр добавить? Будет еще куча if-ов. Для затравки "^ls([\\s]+.*)*[;]?$", "^cd([\\s]+.*)*[;]?$" и "^man([\\s]+.*)*[;]?$" все эти монстры сводятся к простому "^(man|cd|ls)\\s+(.*?);?$". Далее в первой группе хранится команда, во второй - параметры. Короче, код однозначно надо рефакторить. И все-таки почитай рекомендованную мной книгу.
0
|
||
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
|
| 24.03.2011, 08:32 [ТС] | |
|
почитаю конечно, просто з последнюю неделю регексы мне весь мозг вынесли, что смог написал) замечания приму к сведению, для того и спрашивал)))
0
|
|
| 24.03.2011, 08:32 | |
|
Помогаю со студенческими работами здесь
19
Регулярные выражения RegExp. Как получить текст между тегом? получить подстроку Получить подстроку Получить подстроку со строки получить подстроку из строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|