- 作成者投稿
- 2024年4月9日 11:38 am #31754Applek参加者
いつもお世話になり、ありがとうございます。
以下の不具合がありました。私は12月一日にご飯を食べました。
まず上記のサンプル文で試してください。
このマクロは日付の半角数字と漢数字を統一するという補正のマクロです。
12月一日という変な表記を数字に統一したいのですが、マクロではドルマーク11と区別が付かずに12月の部分が消滅してしまいます。
本来キャプチャーは一回しか行われていないので、一番目のキャプチャーとして解釈されないといけないのに11番目のキャプチャーという存在しないキャプチャーとして扱われるので存在しないために消滅するということのようです。
これは仕様か不具合でしょうか?batch_list = editor.filters;
//日数がおかしい。
batch_list.AddReplace(“([0-9]月)一日”,”$11日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)二日”,”$12日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)三日”,”$13日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)四日”,”$14日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)五日”,”$15日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)六日”,”$16日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)七日”,”$17日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)八日”,”$18日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)九日”,”$19日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)十日”,”$110日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
batch_list.AddReplace(“([0-9]月)二十日”,”$120日”,eeFindReplaceRegExp | eeFindReplaceCase,0);
document.selection.BatchReplace(batch_list,eeReplaceAll,eeExFindRegexOnigmo);2024年4月9日 11:45 pm #31756Yutaka Emuraキーマスターいつもお世話になっております。江村です。
これは不具合ではなく、正規表現のそういう仕様になります。
$1 ではなく \1 と表記してください。
JavaScriptの引用符の中では、”\\1″ となります。よろしくお願いいたします。
2024年4月10日 8:02 am #31757Applek参加者回答ありがとうございます。
わかりました。後ろが数値のときは\\1で書きます。
ありがとうございます。 - 作成者投稿
- このトピックに返信するにはログインしてください。