我希望regExp测试两个'Hello'-s并返回true但它只返回false,即使我找不到我的代码有什么问题。我该如何解决?还请说明代码有什么问题。
<html>
<body>
<script type="text/javascript">
var str ="Hello Hello";
var patt = /(hello){2}/gi;
var result =patt.test(str);
document.write("Returned value: " + result);
</script>
</body>
</html>
答案 0 :(得分:0)
您可以使用match()
方法搜索正则表达式和字符串之间的匹配项,然后返回匹配项。
var result = "Hello hello".match(/Hello/gi); // Array { 0="Hello", 1="hello"}
result.length // 2
如果您想使用搜索而不是匹配:
"hello hello ".search(/(hello ?){2}/gi); // it returns 0 when it find two occurrences of hello
// if not it returns -1
答案 1 :(得分:0)
你忘记了空间:
var patt = /(hello ?){2}/gi;
您的原始RE与“HelloHello”匹配,但不是两次出现“Hello”。