| 
 Поиск текста с помощью регулярных выражений Есть строка "math.sin()" Нужно находить только sin и только тогда когда пред ним math. а после ( (?:math\.)\w+(?:\() находит math.sin( подскажите где ошибка. | 
| 
 Цитата: 
 
alert("test math.sin() sin tmp.sin math.sin".replace(/math\.sin\(/,'math.xxx('))
 | 
| 
 Нет, не то. Я наверно не точно выразился. Есть много классов и один из них например math и он имеет десятки функций math.sin, math.cos, math.tang и т. д. И мне нужно чтобы находились только названия функций этих классов. Пример: math.sin() math.cos() math.Pi //константа random.get() random.set() на выходе только функции sin cos get set пример кода reg = text.match(/(?:math\.)(\w+\s*)(?=\()/gi); alert(reg[1]) Как можно записать этот код используя регулярные выражения? Дело в том, что нужно передать только строку с р.в. без кода JavaScript. | 
| 
 Цитата: 
 Убрать последнюю скобку ещё можно( /math\.\w+(?=\()/g ), но в целом не получится. Реальные задачи решаются гораздо проще. | 
| 
 Вариант  
for (var str = "math.sin() math.cos() math.Pi random.get()   random.set() ", re = /(math|random)\.(\w+)[()]{2}/g, a = []; re.exec(str) != null;) a.push(RegExp.$2);
  alert(a);
 | 
| 
 Для разнообразия: :D  
aray = []
while(/(math|random)\.(\w+)[()]{0,2}/g.exec('math.sin() math.cos() math.Pi random.get() random.set()') != null) {
    aray.push(RegExp.$2)
}
alert(aray);
var aray = [];
'math.sin() math.cos() math.Pi random.get() random.set()'.replace(/(math|random)\.(\w+)[()]{0,2}/g, function(a, b, c) {
        return aray.push(c)
})
alert(aray);
 | 
| 
 Ууу, набижали. Поциенту требуется одной match строкой. | 
| 
 Цитата: 
 Есть файл ядра и файлы с описанием языков. Файл описания языка содержит список ключевых слов и регулярных выражений которые предаются в ядро. Забивать все ключевые слова напряжно, там только констант больше четырех сотен, а функций еще больше. Может кто разбирался в этом SyntaxHighlightere | 
| Часовой пояс GMT +3, время: 09:25. |