2015-05-30 5 views
-1

Уроки для регулярного выражения в Интернете абсолютно сосать, и я изо всех сил стараюсь сделать что-то простое.Как заменить этот текст на Regex?

Я использую foxreplace, чтобы попытаться заменить какой-либо код на веб-сайте.

Вот пример строки, я хочу, чтобы заменить

kalkomey.course.init(700083989, 
       "/canada/course_content/course/101199/section/700083990?token=4c07deae80de88c6ec363618c6f19f6a", 
       750, 
       20, 
       0, '', '' 
     ); 

^Это именно то, как это выглядит, так что я не знаю, если регулярное выражение необходимо определить пробелы или пробелы или любой другой.

Все, что я хочу сделать, это заменить «20» на 1. Эта линия может полностью измениться, за исключением того, что она всегда должна начинаться с kalkomey.course.init(" and end with ");. Оно всегда должно иметь одинаковое количество параметров, разделенных запятыми.

Код предназначен для глупого таймера, который не позволит вам перейти на следующую страницу, пока не закончится таймер. В этом случае таймер будет составлять 20 секунд.

Любая помощь будет оценена по достоинству.

+2

Для начала ознакомьтесь с [regex tag wiki] (https://stackoverflow.com/tags/regex/info) для того, как улучшить свой вопрос. Ваше единственное упоминание о «foxreplace» на этом сайте; можете ли вы добавить ссылку или резюме ее возможностей? – tripleee

+0

Я не думаю, что существует список или сводка его функций. Это хорошо работает, но нет литературы. Это дополнение для firefox. В основном, что он делает, когда веб-сайт загружает его, он проходит через код и заменяет материал, который вы указываете, на основе поиска и замены. Я только выяснил, что он будет искать и заменять регулярным выражением, но не упоминает, какой вкус регулярного выражения и регулярное выражение смехотворно сложно использовать. – wallybanger

+0

Итак, этот; https://code.google.com/p/foxreplace/ – tripleee

ответ

0

Для обработки строк, это может получить немного сложнее:

kalkomey\.course\.init\([\S\s]*?,[\S\s]*?(["'])((?:(?=(?:(\\))*)\3.|.)*?)\1[\S\s]*?,[\S\s]*?,[\S\s]*?(\d+?), 

текст будет находиться в группе захвата 4.

Regex101

Вы не предоставили язык так Я не могу предоставить вам код, описывающий его использование.

+0

Я честно не знаю, какой язык он использует. Документация для ForReplace отсутствует. Я предполагаю javascript? Ничего себе, это просто я или регулярное выражение излишне сложно? Спасибо за помощь! – wallybanger

+0

@wallybanger Я искал замену fox, я думаю, что это регулярное выражение должно работать нормально, предполагая, что это расширение браузера, возможно, оно использует JavaScript. – Downgoat

+0

Думаю, я могу видеть, что вы там сделали. * * устанавливает строку поиска как нумерованный результат, правильно? Итак, в поле замены я бы добавил что-то вроде: kalkomey \ .course \ .init \ (\ 1, \ 2, \ 3,1, \ 5, \ 6, \ 7); Правильно? И да, FoxReplace является расширением браузера. – wallybanger

Смежные вопросы