3

Smart Mobile Studioで正規表現を操作するにはどうすればよいですか?たとえば、Object Pascalで次の例をコーディングするにはどうすればよいですか?

var re = /\w+\s/g;  
var str = "fee fi fo fum";  
var myArray = str.match(re);  
console.log(myArray);
4

1 に答える 1

8

SmartMSでは、正規表現はw3regexユニットに実装されているw3regexため、usesリストに追加することから始めます。

「短い」形式(var re = /\w+\s/g;質問など)はサポートされていません。正規表現オブジェクトを作成するには、コンストラクターを使用する必要があります。

re := TW3RegEx.Create('\w+\s', 'g');

組み込みの文字列オブジェクトは、正規表現のマッチングをサポートしていません。使用法を簡素化するために、w3regexユニットは文字列オブジェクトにMatch、Replace、Search、およびSplitメソッドを導入する文字列ヘルパーを実装します。

コードを直接翻訳すると、

var re := TW3Regex.Create('\w+\s', 'g');
var str := 'fee fi fo fum';
var myArray := str.Match(re);

(ロギングに関しては、現時点では、文字列配列をコンソールにうまく書き込む方法がわかりませんが、それは質問の一部ではありませんでした。)

w3regexは、Matchメソッドにいくつかのオーバーロードを実装し、その場で正規表現オブジェクトを作成します。ヘルパーメソッドを文字列リテラルに適用することもできるため、コードを次のように短縮できます。

var myArray: TStrArray = ('fee fi fo fum').Match('\w+\s', 'g');

この場合、文字列リテラルを括弧で囲む必要があります。

SmartMSで正規表現を使用する多くの方法は、インストールの一部であるRegExDemoプログラムに記載されています。

于 2012-05-16T16:23:57.557 に答える