Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于边界间浮动的Javascript正则表达式_Javascript_Jquery_Regex_Select - Fatal编程技术网

用于边界间浮动的Javascript正则表达式

用于边界间浮动的Javascript正则表达式,javascript,jquery,regex,select,Javascript,Jquery,Regex,Select,我四处搜索,在通过几个正则表达式构建器运行后,它似乎做了我想要的。。。但当我真正尝试并实现它时,它似乎从来都不起作用 这是我正在使用的表达式:(?这里有一个很好的工具来测试您的正则表达式 您的jQuery代码完全错误 你可能想写点什么 $('#content_area select').change(function() { var value = $(this).val(); }); 根据Javascript的说法,它不支持lookback。这个表达式对你有用吗 (?:\[)([0-

我四处搜索,在通过几个正则表达式构建器运行后,它似乎做了我想要的。。。但当我真正尝试并实现它时,它似乎从来都不起作用


这是我正在使用的表达式:
(?这里有一个很好的工具来测试您的正则表达式


您的jQuery代码完全错误

你可能想写点什么

$('#content_area select').change(function() {
    var value = $(this).val();
});
根据Javascript的说法,它不支持lookback。这个表达式对你有用吗

(?:\[)([0-9]+(?:\.[0-9]*)?)(?:\])
编辑:或者,更简洁地
\[(\d+(?:\.\d*)?)\]
(感谢Phrogz指出这一点)

EDIT2:为了处理jQuery位,可能类似的东西会起作用(摘自jQuery
:selected
文档):

a) 你应该把它作为你选择的价值,例如

<select>
   <option value="193.33">Stuff [193.33]</option>
   <option value="19232l.39393">Stuff2 [19232l.39393]</option>
</select>
您不能使用现有的内容,原因有几个,包括大多数JS解释器不支持正向查找断言。因此,我们必须捕获方括号,然后忽略它们,如下所示:

$('foo option:selected').each(function(){
  var float = /\[(\d+(\.\d+)?)\]/.exec(this.value)[1] * 1;
});

这是评论,不是回答。这应该是评论,不是回答。你只是提供了一个工具,并没有真正回答他的问题。@匿名选民,如果你能解释一下为什么你觉得我的答案不值得排名“1”的话,我将不胜感激。驾车向下投票有助于澄清大量答案,但最好留下一条评论,告诉其他人你认为他们应该避开这个答案的原因。在带有非捕获组的正则表达式中,
(?:\\[)
与简单的
\\[< /代码>。此外,您忘记了在原语中的字面周期。中间有一个捕获组来抓取数字。我试图用<代码>替换<代码>(?:\\)/代码>。[
但它似乎不匹配。我不是正则表达式大师,所以可能是我在做一些愚蠢的事情。比如字面意义上的
不逃逸:)@Phrogz:不,我站在正确的位置上。如果一个人做对了,它确实起作用:)你是想把字母
l
放在
玩偶2中[19232l.39393]
?我这样问是因为您的正则表达式与任何字母都不匹配。
$("select").change(function () {
    $("select option:selected").each(function () {
        var value = $(this).text();
        // Do regex magic
    });
});
<select>
   <option value="193.33">Stuff [193.33]</option>
   <option value="19232l.39393">Stuff2 [19232l.39393]</option>
</select>
/\[\d+(\.\d+)?\]/
$('foo option:selected').each(function(){
  var float = /\[(\d+(\.\d+)?)\]/.exec(this.value)[1] * 1;
});