我有一个javascript代码,我想获得一个特定的功能。我的代码运行良好,但我有一个问题,如何获得字符串的第一个相应的。在我的例子中它是'false',这里是javascript代码:'代码不是100%正确,只是一个例子。'
$(document).ready(function() {
$('#flash').insertAfter($('.report-header'));
$('a.bounce-tip').tooltipster({interactive: true, position: 'top', trigger: 'click'});
$('#add-manual-rejection').dialog({
autoOpen: false,
resizable: false,
width: 400,
modal: true
});
$('#add-blacklist-show').click(function() {
$('#add-manual-rejection').find('input[name=address], input[name=comment]').val('');
$('#add-manual-rejection').dialog('open');
return false;
});
$('#cancel-add-rejection').click(function() {
$('#add-blacklist-show').click(function() {
$('#add-manual-rejection').find('input[name=address], input[name=comment]').val('');
$('#add-manual-rejection').dialog('open');
return false;
});
return false;
});
});
现在我的正则表达式是:
/([\(\'\$\#]+add-b[\w\W]+false)/
我还尝试使用{1,2等等......}来获得第一个结果。所以它变成了这样:
([\(\'\$\#]+add-b[\w\W]+false{1})
但是在这种情况下,解释器仅为最后一个字母提供结果,而'e'不是整个单词。
我正在使用此网站来匹配我的正则表达式:http://rubular.com/
任何建议!谢谢:))
答案 0 :(得分:2)
我不清楚你想要什么回来。如果你要返回的是你发布的代码中的第一个子字符串,它以一组中的一个字符开头('$#后跟add-b并以false结尾,你需要make [\ w \ W] +'非贪心'。所以你的正则表达式是:
[('$#]+add-b[\w\W]+?false
我看到你编辑了你的标签以显示javascript而不是nsregularexpressions。上面的代码示例可能如下所示:
var myregexp = /[('$#]+add-b[\w\W]+?false/;
var match = myregexp.exec(subject);
if (match != null) {
result = match[0];
} else {
result = "";
}
答案 1 :(得分:1)
/(\$\('#add-b(?:(?!}\);)[\s\S])+}\);)/
# http://rubular.com/r/7DzzH82kiH
# Match 1
# 1. $('#add-blacklist-show').click(function() {
# $('#add-manual-rejection').find('input[name=address], input[name=comment]').val('');
# $('#add-manual-rejection').dialog('open');
# return false;
# });
# Match 2
# 1. $('#add-blacklist-show').click(function() {
# $('#add-manual-rejection').find('input[name=address], input[name=comment]').val('');
# $('#add-manual-rejection').dialog('open');
# return false;
# });
http://rubular.com/r/7DzzH82kiH