Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Паттерн для элементов вида: func( par1, par2,..) / 22 сообщений из 22, страница 1 из 1
13.03.2007, 15:41:18
    #34387615
Ученик22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Всем привет.
Подскажите, плиз, как с помощью Class Pattern
сделать паттерн, который будет в тексте находить все конструкции вида
func(...) где ... - любые символы, кроме '(' и ')'.
...
Рейтинг: 0 / 0
13.03.2007, 16:02:40
    #34387707
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Про Regexp что ли?
Тады так ...
Код: plaintext
1.
[^()]*
...
Рейтинг: 0 / 0
13.03.2007, 16:04:51
    #34387719
Ученик22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
а где тут слово func? нужно найти именно
func( ) и забить на всё, что внутри скобок, а также на любые символы справа от последней скобки. Но нельзя забить на наличие пробела или энтера перед словом func.
...
Рейтинг: 0 / 0
13.03.2007, 16:08:19
    #34387735
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Воще не очень понятен вопрос, однако. Можно и так, если знаещь, что за func ...
Код: plaintext
1.
func([^)]*)

Можно и так, если нужна любая func ...
Код: plaintext
1.
[a-zA-Z0-9_]+([^)]*)
И еще - можно просто пользовать String.match()
...
Рейтинг: 0 / 0
13.03.2007, 16:12:24
    #34387739
Ученик22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Да, слово func известно. Кажется у вас ошибочка...
...
Рейтинг: 0 / 0
13.03.2007, 16:13:27
    #34387744
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Ученик22а где тут слово func? нужно найти именно
func( ) и забить на всё, что внутри скобок, а также на любые символы справа от последней скобки. Но нельзя забить на наличие пробела или энтера перед словом func.
Ну ты прям ...
Код: plaintext
1.
^[a-zA-Z0-9_]+([^)]*)[.]*
...
Рейтинг: 0 / 0
13.03.2007, 16:15:30
    #34387748
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Ученик22Да, слово func известно. Кажется у вас ошибочка...
Мы просто немного в противофазе ...
Код: plaintext
1.
^func([^)]*)[.]*
Устраивает?
...
Рейтинг: 0 / 0
13.03.2007, 16:28:42
    #34387807
Ученик22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
не правильно
...
Рейтинг: 0 / 0
13.03.2007, 16:31:52
    #34387823
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Ученик22не правильно
Ток шоу "угадай regexp"!
...
Рейтинг: 0 / 0
13.03.2007, 16:34:07
    #34387832
Ученик22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
1. ^ The beginning of a line (пробел также разрешенные символ перед func)
2. В "подходящие " символы попадает внутренность скобок.
Последняя скобка не попадает в "подходящие"
...
Рейтинг: 0 / 0
13.03.2007, 16:49:29
    #34387903
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Ученик221. ^ The beginning of a line (пробел также разрешенные символ перед func)
2. В "подходящие " символы попадает внутренность скобок.
Последняя скобка не попадает в "подходящие"
Какие мы капризные ...
Код: plaintext
1.
^[\t\ ]*func([.]*)[^)]*$
Теперя сойдеть?
...
Рейтинг: 0 / 0
13.03.2007, 16:54:15
    #34387922
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
проблема вот в чём Ученик22кроме '(' и ')'. ибо func(a(b) отловить не проблема, а проблема func(a)b) т.к. формально получается func(a)
что вполне допустимо.
зы
ИМХО
...
Рейтинг: 0 / 0
13.03.2007, 16:55:59
    #34387930
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
zalexakaпроблема вот в чём Ученик22кроме '(' и ')'. ибо func(a(b) отловить не проблема, а проблема func(a)b) т.к. формально получается func(a)
что вполне допустимо.
зы
ИМХО
Мой последний вариант это решает ...
...
Рейтинг: 0 / 0
13.03.2007, 17:14:44
    #34388027
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
andrushok Ученик221. ^ The beginning of a line (пробел также разрешенные символ перед func)
2. В "подходящие " символы попадает внутренность скобок.
Последняя скобка не попадает в "подходящие"
Какие мы капризные ...
Код: plaintext
1.
^[\t\ ]*func([.]*)[^)]*$
Теперя сойдеть?

слово function пройдет. скобки экранировать надо
...
Рейтинг: 0 / 0
13.03.2007, 17:17:36
    #34388042
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Код: plaintext
1.
func\\([^(]*?\\)
...
Рейтинг: 0 / 0
13.03.2007, 17:18:57
    #34388053
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Deady
слово function пройдет. скобки экранировать надо
Не надо. Спец символы, которые нужно "экранировать", это
Код: plaintext
1.
+ * ? . [ ] ^ $
и все. Остальное идет, как есть.
...
Рейтинг: 0 / 0
13.03.2007, 17:22:20
    #34388064
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
andrushok Deady
слово function пройдет. скобки экранировать надо
Не надо. Спец символы, которые нужно "экранировать", это
Код: plaintext
1.
+ * ? . [ ] ^ $
и все. Остальное идет, как есть.

ну вам виднее. мои слабые познания в этой области говорят, что в знакомых мне языках с регэкспами (перл, ява, пхп) скобка означает группу. собственно в чем я тут же убедился, воспользовавшись плагином regexp в идее.
...
Рейтинг: 0 / 0
13.03.2007, 17:30:20
    #34388099
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Deady
Код: plaintext
1.
func\\([^(]*?\\)

А ето воще мало понятно. Тогда бы уж так написали ...
Deady
Код: plaintext
1.
2.
3.
4.
5.
6.
String s;
...
 if ( s.matches( "func\\([^(]*?\\)") )
{
...
}

Я тут посмотрел про "экранирование". По Regexpу () не входять в специальне символы, но в жабе есть свои извраты (типа \w, \s, \d, \W, \S, \D), так что можно и экранировать от греха подальше.
...
Рейтинг: 0 / 0
13.03.2007, 17:36:25
    #34388129
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
andrushok Deady
Код: plaintext
1.
func\\([^(]*?\\)

А ето воще мало понятно. Тогда бы уж так написали ...
Deady
Код: plaintext
1.
2.
3.
4.
5.
6.
String s;
...
 if ( s.matches( "func\\([^(]*?\\)") )
{
...
}


как задачу поставили, так ответ и дал.
andrushokЯ тут посмотрел про "экранирование". По Regexpу () не входять в специальне символы, но в жабе есть свои извраты (типа \w, \s, \d, \W, \S, \D), так что можно и экранировать от греха подальше.
\w итп есть не только в яве.
...
Рейтинг: 0 / 0
13.03.2007, 17:43:53
    #34388164
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Deady\w итп есть не только в яве.
ну мало ли где чего есть ...
Чисто по regexpу есть таки варианты
\b \e \f \n \r \t \xDDD (типа 0x1АF) \^C (\^D и т.д.)
Ну а кажный там всего понакрутить могет.
...
Рейтинг: 0 / 0
13.03.2007, 18:18:42
    #34388295
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
andrushok Deady\w итп есть не только в яве.
ну мало ли где чего есть ...
Чисто по regexpу есть таки варианты


а что такое "чисто по regexpу"? насколько я помню, на регекспы нет общепризнанных стандартов
...
Рейтинг: 0 / 0
13.03.2007, 18:25:46
    #34388314
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Паттерн для элементов вида: func( par1, par2,..)
Deady
а что такое "чисто по regexpу"? насколько я помню, на регекспы нет общепризнанных стандартов
Не знаю, просто у меня есть книжка про Regexp (достаточно старая) где есть описание. Вот для меня это и "чисто по Regexпу". То, что там описано, работает и C-шных бибатеках, и в perl и в JavaScript (ну и в Java тоже).
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Паттерн для элементов вида: func( par1, par2,..) / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]