スクリプトでの正規表現

[1845]スクリプトでの正規表現 | 投稿者:あか | 投稿日:2008/10/10(Fri) 15:18:41
いつもお世話になってます。
javascriptに関しての質問です。
環境はmacOSX(10.4)InDesignCS3です。

スクリプトでfindGrepを使用して検索をかけたいんですが、半角のカッコやピリオドのメタ文字にヒットしません…
InDesignでは問題なくヒットす「\(」とか「\x{0028}」なんかもダメです。というか、「\」(バックスラッシュ)が使用できないでしょうか?

ちなみにこんなスクリプトで試してみました。
//my_find_cha = "\(";
//my_find_cha = "\x{0028}";
//my_find_cha = "\.";
my_find_cha = "\x{002E}";
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findChangeGrepOptions.includeLockedLayersForFind = false;
app.findChangeGrepOptions.includeLockedStoriesForFind = false;
app.findChangeGrepOptions.includeHiddenLayers = false;
app.findChangeGrepOptions.includeMasterPages = false;
app.findChangeGrepOptions.includeFootnotes = false;
app.findChangeGrepOptions.kanaSensitive = true;
app.findChangeGrepOptions.widthSensitive = true;
app.findGrepPreferences.findWhat = my_find_cha;
hitObj = app.activeDocument.selection[0].findGrep();

for(i = 0;i<hitObj.length; i++)
{
alert(hitObj[i].contents);
}

どなたか、ご教授願います。
» 1
[1846]Re: スクリプトでの正規表現 | 投稿者:お~まち | 投稿日:2008/10/10(Fri) 15:45:26
my_find_cha = "\\(";

でいけましたよ。
Win版ですが、多分同じでしょう。
» 2
[1847]Re: スクリプトでの正規表現 | 投稿者:あか | 投稿日:2008/10/10(Fri) 16:18:03
お~まちさんありがとうございます。

Macでも出来ました。
ひとつじゃダメなんですね…
なんだか、よく分からなかったので勉強になりました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア