| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > Перевод регулярного выражения на Java |
| Автор: truffle 15.12.2010, 17:19 |
| Помогите записать это выражение на java и понять как его читать? $var=~s/^{[^}]*}//; |
| Автор: shamber 15.12.2010, 23:37 |
| эээээ, может в другой раздел форума? |
| Автор: Logo 16.12.2010, 15:03 |
| Да. Перловый синтаксис здесь означает «заменить первое совпадение выражения "^{[^}]*}" на пустую строку». В Java способ применения регулярного выржения будет зависить от используемой библиотеки. Само выражение скорер всего не изменится (Perl Compatible если), но тоже зависит от библиотеки. |
| Автор: truffle 16.12.2010, 15:12 | ||
тогда еще вопрос, почему у меня скрипт: $var = 'gf^{[^}]*}hdfj'; $var=~s/^{[^}]*}//; print $var; выводит: gf^{[^}]*}hdfj те ничего не поменялось... |
| Автор: Logo 16.12.2010, 15:37 | ||
? |
| Автор: truffle 16.12.2010, 15:56 | ||||
gf]*}hdfj |
| Автор: Logo 16.12.2010, 23:08 | ||
Или так
|
| Автор: alezzz 17.12.2010, 10:21 | ||||||
но так не хочет, перепробовал разные способы
в последнем случае в $& пусто А вообще помоему регулярное выражения изначально не для этого строилось
|
| Автор: Logo 17.12.2010, 10:38 | ||||||
это аналог вашего
Но тс, судя по всему, хочет применит regexp именно для этого |
| Автор: alezzz 17.12.2010, 11:02 | ||||
ну незнаю....
по документации должно работать, но не хочет |
| Автор: alezzz 17.12.2010, 11:23 | ||||
нашел у себя ошибку
работает |
| Автор: truffle 17.12.2010, 12:52 | ||
А для чего оно еще могло строиться? его можно другим способом прочитать? |
| Автор: alezzz 17.12.2010, 13:02 | ||
Вот это навело на ложный след |
| Автор: truffle 17.12.2010, 13:03 | ||
Вероятность ошибки в выражении исключена. У меня на входе работающий скрипт, в котором есть функция
его(скрипт) надо переписать на яве, вот я и пытаюсь понять, что делает эта функция. |
| Автор: alezzz 17.12.2010, 13:07 |
| удаляет в строке все что между {} (и сами скобки тоже), если это стоит в начале строки, т.е. из: {aaa aaa aaa} bbb bbb bbb {aaa aaa aaa} получяем: bbb bbb bbb {aaa aaa aaa} что передается через @_? |
| Автор: truffle 17.12.2010, 13:23 |
| Спасибо! была ошибка |