Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.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 如何使用JQuery在网页中的方括号之间查找值?_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 如何使用JQuery在网页中的方括号之间查找值?

Javascript 如何使用JQuery在网页中的方括号之间查找值?,javascript,jquery,regex,Javascript,Jquery,Regex,我有以下情况: 我在一个页面上有5个可能的值: [value 1] ... [value 5] 我想做的是抓住每个值和括号 示例内容: <p>velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam

我有以下情况:

我在一个页面上有5个可能的值:

[value 1]
...
[value 5]
我想做的是抓住每个值和括号

示例内容:

<p>velit, sed quia non numquam eius modi tempora incidunt ut labore et 
dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, 
quis nostrum exercitationem ullam [value 1] corporis suscipit laboriosam, nisi 
ut aliquid ex ea commodi consequatur? Quis autem vel eum iure 
reprehenderit qui in ea voluptate</p>
velit,这是一项非临时性的工作
多洛尔·马格纳姆·阿利夸姆·沃卢帕特姆。这是一个小小的节日,
第1条【价值1】劳动身体,nisi
你是从商品消费中提取现金的吗?这是一个真正的世界
ea中的reprehenderit qui voluptate

。。。然后移动到页面的另一部分,比如页眉


这有多难?

您可以获取html内容,并对该字符串执行正则表达式,或者由于您只有5种可能性,您可以使用更慢更简单的jQuery方式:

var possibilities = ['[value 1]', '[value 2]', '[value 3]', '[value 4]', '[value 5]'];

for(var i in possibilities){
  if ( $(":contains('" + possibilities[i] + "')").length ) {
    alert(possibilities[i] + ' was found');
  }
}

这可能是最简单的解决方案,具体取决于您对jQuery和regex不同部分的熟悉程度。

您可以获取html内容,并对该字符串执行regex,或者由于您只有5种可能性,您可以使用更慢更简单的jQuery方式:

var possibilities = ['[value 1]', '[value 2]', '[value 3]', '[value 4]', '[value 5]'];

for(var i in possibilities){
  if ( $(":contains('" + possibilities[i] + "')").length ) {
    alert(possibilities[i] + ' was found');
  }
}

这可能是最简单的解决方案,这取决于您对jQuery和regex不同部分的熟悉程度。

如果您不需要知道它来自何处,可以使用$('body').text()从网站上获取所有文本,然后使用regexp查找元素

var text = $('body').text();
var m = new Regexp('\[([^\]])+\]').exec();
$.each(m, function(index, value){
    //add value to header
}

顺便说一句,这段代码没有经过测试,在大型网站上这可能需要很长时间。尽量缩小范围(通过传递另一个元素而不是body)

如果不需要知道它来自何处,可以使用$('body').text()从网站获取所有文本,然后使用regexp查找元素

var text = $('body').text();
var m = new Regexp('\[([^\]])+\]').exec();
$.each(m, function(index, value){
    //add value to header
}

顺便说一句,这段代码没有经过测试,在大型网站上这可能需要很长时间。尽量缩小范围(通过传递另一个元素而不是正文)

可以找到文本的范围是什么?范围是什么意思?这些值只会出现在段落标记内。文本的范围是什么?范围是什么意思?这些值将仅位于段落标记内