正規表現ビルダーでTrue判定された文字列が処理ではFalse判定される

こんにちわ

IsMatchアクティビティを用いて、"行の先頭が「\」の任意の文字列"を判定させる処理を
実行しようとしています。

正規表現を「^\.*」で設定し、正規表現ビルダーのテスト用テキストに「\10,000」を入力すると
True判定することを確認したのですが、実行するとFalse判定されてしまいます。

知見のある方がいらっしゃいましたら、ご教示ください。

こんにちは

具体的にプロパティパネル上でどのように設定されているか共有可能でしょうか?
あとは、実際の評価文字列の内容、使用言語(VB or C#)でも変わって来ますので、そのあたりの情報が必要です。

リアクションありがとうございます!

プロパティパネルは以下のような設定になっています。
無題2

使用言語は何でしょうか?

使用言語は日本語です。

検索対象のテキストは ReadTextFile アクティビティで読み込んだ情報を
For Each Row アクティビティで回しています。

テキストの内容は以下のようになっています。Read Text File アクティビティの
プロパティは添付画像のようになっています。

¥10,000
y10000
20000
2000個
E2345-YOS
30,000

無題3

VBでしょうか?C#でしょうか?Studioの右下に表示されているので、そちらで確認ください。

ReadTextFileで読み込んだものは、Stringで帰ってくると思いますが、これはそのままFoeEachRowでは回せないと思いますが。

確認事項としては、IsMatchの手前でLogMessage等を使い、CurrentRow(0).ToStringの値を確認、想定通りなら、一度IsMatchの入力をCurrentRow(0).ToString.Trim としてみた結果を確認する
あたりでしょうか?

返信ありがとうございます。

Studioの右下に言語設定表示らしきものがなかったので、
「ホーム」→「設定」の「言語」の画像になります。

IsMatch の直前では期待した値でとれているように見えます。
“.Trim” を付加してみましたが、結果は変わらずでした…。
エスケープ文字対策はできていると思うのですが、なぜだろ?

言語は以下にありませんでしょうか?

image

可能であればxamlファイル共有いただければと思います(新規ユーザーの場合、権限で共有ができないかもしれませんが)

失礼しました。言語は「VB」です。
テキストがどこの言語で書かれているかを尋ねられていると勘違いしました…。

Blockquote
可能であればxamlファイル共有いただければとなります(新規ユーザーの場合、許可で共有ができないかもしれませんが)

はい、大丈夫です。ご覧いただけると幸いです。

金額だけの行を取り出す処理.zip (149.6 KB)

こんにちは

結論的には、テキスト中の円サインは\ではないことに起因しています。
テキスト中の円サインは\u00a5、キーボードで直接打てるバックスラッシュ=円サインは\u005cになるので、両方にマッチさせるのであれば、以下パターンをお試しください。

^[\u00a5\u005c].*
1 Like

ありがとうございます!
ご教示いただいたパターンマッチで期待する処理ができました!

このようなパターンの記述方法があるのですね。勉強になりました。
本当にありがとうございます!!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.