Может ли кто-нибудь помочь мне адаптировать этот регулярный просмотр регулярных выражений / Textile Live Preview? - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть эти строки кода в текстовом парсере jquery:

 re = new RegExp('"\\b(.+?)\\(\\b(.+?)\\b\\)":([^\\s]+)','g');
 r = r.replace(re,'<a href="$3" title="$2">$1</a>');

 re = new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');
 r = r.replace(re,'<a href="$2">$1</a>');

Эти строки кода для поиска строк, таких как

 "hello this is an embedded link":http://www.google.com

И заменить их на

 <a href="http://www.google.com">hello this is an embedded link</a>

Однако парсер не может распознать строки с периодом, предшествующим кавычкам:

 "This is also a link.":http://www.google.com

Как я могу изменить регулярное выражение в этих строках, чтобы периоды предшествовали конечной кавычке? Я могу опубликовать больше информации и строк, если это поможет. Я просто не знаю, как писать регулярные выражения ..

1 Ответ

1 голос
/ 30 ноября 2011

Изменение

re = new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');

на

re = /"(?!\s)([^"]*\S)":(\S+)/g;

должно исправить это.

Те же изменения могут быть применены к первому выражению, например:

re = /"(?!\s)([^"()]+)\(([^"()]+)\)":(\S+)/g;
...