Javascript括号

时间:2016-03-25 08:51:00

标签: javascript regex

我正在使用正则表达式进行一些检查

<p>Click the button to do a global search for "h.t" in a string.</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
var str = "That's cool!";
var patt1 = /(h.t)/;
var result = str.match(patt1);
document.getElementById("demo").innerHTML = result;
}
</script>

输出是帽子,帽子 y仅帽子

如果将代码更改为

var patt1 = /h.t/;

结果很好。我检查了W3schools和regexr.com,但仍然不知道

1 个答案:

答案 0 :(得分:2)

您的正则表达式包含一个捕获组,由括号表示。 ViewPager返回结果数组,其中第一项是整个匹配,后续条目是捕获的组。在这种情况下,该组是整个正则表达式,因此重复match

如果您删除了捕获组,您将获得一个条目:

hat

或者,如果我们稍微扩展正则表达式以进一步显示行为:

var str = "That's cool!";
var patt1 = /h.t/;
var result = str.match(patt1); // ["hat"]

我们看到整个匹配是第一个条目,下一个是捕获组。