5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ILERPGAdvent Calendar 2024

Day 3

IBM iで正規表現(2)【バックスラッシュを使用したい場合】

Last updated at Posted at 2024-12-02

はじめに

前回はIBM iで正規表現(1)【FF RPGでの使い方】についてご紹介しました。

IBM iで正規表現を使用する際には、1つ問題があります。
具体的には、IBM iでは「\(バックスラッシュ)」が「¥(円マーク)」として認識されてしまうことです。

今回は、IBM iで正規表現を使う際に、バックスラッシュを扱う方法をご紹介します。
本記事では、CCSIDに5035を使用しています。

検証環境

  • PC環境:Windows10 日本語
  • エミュレータ:P-COMM 15.0 ホストコードページ 939
  • IBM i:V7R5 CCSID 5035

なぜバックスラッシュが使用できないのか?

こちらの記事でご調査いただいている通り、エミュレータソフトの違いによって文字の見え方が異なることがあります。

IBMiのWeb開発では円マークに気をつけよう

IBM iで正規表現を使う際に、バックスラッシュを扱う方法

CCSID 5035では、バックスラッシュを16進数で「E0」と表されます。
そのため、バックスラッシュを「X'E0'」として、16進数で直接表現します。

REGEX = '^' + X'E0' + 'd{7}$';

EXEC SQL                                                    
     Set :COUNT = REGEXP_COUNT(TRIM(:INPUT), :REGEX);

ご参考になれば幸いです。最後までお読み頂きありがとうございます。

5
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?