我在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
如何更改这些行上的正则表达式以允许句点在结束引用之前?我可以发布更多信息和行,如果它会有所帮助。我只是不知道如何写正则表达式..
答案 0 :(得分:1)
更改
re = new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');
到
re = /"(?!\s)([^"]*\S)":(\S+)/g;
应该解决这个问题。
可以对第一个表达式应用相同的更改,例如:
re = /"(?!\s)([^"()]+)\(([^"()]+)\)":(\S+)/g;