我在名为的第三方 jQuery 控件中有以下代码jquery.facebox.js that JSLint不喜欢。这是正则表达式中的一个严重的擒纵错误。
正则表达式对我来说就像 Romulan,所以我不知道如何修复错误(这是正则表达式中的句点字符):
var imageTypes = $.facebox.settings.imageTypes.join('|');
$.facebox.settings.imageTypesRegexp = new RegExp('\.(' + imageTypes + ')$', 'i');
添加第二个\
after '\
。这是一个字符串问题,而不是正则表达式问题:-)
有一个\
在 Javascript(和许多其他语言)的字符串中,您需要对其进行转义,因为它用于转义序列(例如\n
)。所以要有一个\
你必须把\\
.
在正则表达式中\
用于转义下一个字符,但这是另一种转义(与“字符串”转义无关)。所以就是\\.
更清楚地说:你希望你的字符串是“字面意思”\.(something
。为了拥有它,你需要逃离\
通过放置另一个\
(否则你的字符串将是.(
因为\
会逃避.
,所以它不会做任何事情)。如果你好奇的话,.
正则表达式中的意思是任何字符,但是如果你想搜索一个.
(一个点),你必须转义它,猜猜你用什么?这\
:-)
如果有一天您必须使用 C# 进行编程,那么在 C# 中您可以使用以下方法解决此问题@"something"
。 @disable 转义字符串中的“扩展”。所以@"\"
is a \
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)