2
<html>
<head>
        <title>Test</title>
        <meta charset="UTF-8">

<script src="xregexp.js"></script>
<script src="unicode-base.js"></script>
<script src="unicode-scripts.js"></script>
<script>
var wordsToMatch = "Gr|Greek|ΕΛΛΗΝΙΚΑ";

var regexPattern = '\\b('+wordsToMatch+')';

var referenceRegex = new XRegExp(regexPattern, 'mi');
//var testString = "ΕΛΛΗΝΙΚΑ"; //null  -  ???
var testString = "Gr"; //Gr,Gr  -  OK AS IT SHOULD
var match = referenceRegex.exec(testString); 

function myFunction()
{
    alert(match);
}
</script>

</head>
<body onload="myFunction()">


</body>
</html>

私の例は非常に説明しやすいと思います。それは細かい英語の単語と一致します。ギリシャ語の単語も一致させたいと思います。xregexp の Unicode アドオンに慣れていません。私のパターンは regexp で動作するように実装されています。

4

2 に答える 2

0
<html>
<head>
        <title>Test</title>
        <meta charset="UTF-8">
<script>
var wordsToMatch = "Gr|Greek|ΕΛΛΗΝΙΚΑ";

var regexPattern = '('+wordsToMatch+')';

var referenceRegex = new RegExp(regexPattern, 'mi');
//var testString = "ΕΛΛΗΝΙΚΑ"; //Works now fine
var testString = "Gr"; //Gr,Gr  -  OK AS IT SHOULD
var match = referenceRegex.exec(testString); 

function myFunction()
{
    alert(match);
}
</script>

</head>
<body onload="myFunction()">


</body>
</html>

上記は正常に動作します。正規表現を少し読んでテストすると、問題が解決しました。\b を削除し、XRegExp も必要ありません...

于 2014-05-23T09:53:15.637 に答える
0

Unicode ベースのほかにスクリプト アドオンが必要です。

<script src="xregexp.js"></script>
<script src="addons/unicode/unicode-base.js"></script>
<script src="addons/unicode/unicode-scripts.js"></script>

<script>
  XRegExp("\\p{Greek}+").test("ΕΛΛΗΝΙΚΑ"); // true
</script>
于 2014-05-22T23:01:02.003 に答える