0

regExpで2つの「Hello」をテストして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>
4

2 に答える 2

0

あなたはスペースを忘れました:

var patt = /(hello ?){2}/gi;

元のREは「HelloHello」と一致しますが、「Hello」の2つのオカレンスとは一致しません。

于 2012-04-07T07:15:53.733 に答える
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
于 2012-04-07T07:06:00.440 に答える