我有一些javascript读取一些cookie,并进行一些匹配.我正在使用分组来捕获正则表达式的一部分并在以后使用它们.我遇到了unicode角色的问题.如果我有一个像\u25BA►这样的字符,当我在分组中找到这个字符时,它会返回字符串'\ u25BA'而不是我正在寻找的unicode字符.如果我指定角色,我可以解决问题,但我不能让它更普遍地工作.以下将按我的意愿工作:
var matches=theOnclick.match(/.*\(event, ?"([^"]*)", ?"([^"]*)".*\)/);
var expand=matches[1].replace(/\\u25BA/, '\u25BA');
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
var expand=matches[1].replace(/\\u([0-9A-Z])/, '\u\1');
Run Code Online (Sandbox Code Playgroud)
有什么建议?
更多信息:感谢您的回答.让我补充一点背景.我认为问题在于我从一个跨度的"onclick"获得我的比赛.我在下面列出了一个稍微详细的例子.如果我有一个带有unicode字符的普通字符串,当我进行匹配时,我会得到unicode字符.但是,当我从onclick的值中获取字符串时,我得到了unicode转义序列.所以我一直在尝试将unicode转义序列转换回unicode字符.我希望这是有道理的.也许有另一种方法可以做到这一点.
在下面的示例中,bar的行为与我想要的一样,而foo则不然.
<html>
<body>
<span id='foo' onclick='expandCollapse(event, "?", "?");'>foo</span>
<script type='text/javascript'>
var foo= document.getElementById('foo').onclick+'';
alert(foo);
var foomatches=foo.match(/.*\(event, ?"([^"]*)", ?"([^"]*)".*\)/);
alert(foomatches);
var bar='expandCollapse(event, "?", "?");'
var barmatches=bar.match(/.*\(event, ?"([^"]*)", ?"([^"]*)".*\)/);
alert(barmatches);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我注意到很多可用的codeigniter库使用主用户指南使用的相同样式的文档(例如ion_auth http://benedmunds.com/ion_auth/).是否有某种自动方式从源代码注释创建它,或者只是使用剪切和粘贴的人?
我正在运行一个subversion服务器,通过http使用webdav进行访问.我注意到当我使用浏览器访问存储库时,有时存储库中的pdf文件显示为纯文本(就像您使用文本编辑器(如emacs,vim或notepad)查看pdf)而不是下载,或者用一些pdf阅读器打开.如果你保存页面,然后用pdf阅读器打开它,它工作正常.任何想法为什么会这样?它似乎有点依赖于浏览器,并不会发生在所有文件中.下面的文件似乎有很多这个问题:http: //robfelty.com/subversion/ling5200/slides/ling5200-all-notes.pdf