「$*」の意味がわかりません

オートメーション デベロッパーアソシエイト資格試験の練習問題に


[繰り返し (フォルダー内の各ファイル) (For Each File In Folder)] アクティビティを使用してローカル フォルダー内のすべての Microsoft Word 文書を反復処理する場合、どのフィルターオプションを有効にしますか。

という問題があり、回答は

"$*.doc$*"

でした。

最初の「$*」と、最後の「$*」は何を示しているのでしょうか?
「*」はワイルドカードだと理解しています。

いろいろと調べてみたのですが、いまいち理解できませんでした。
どうぞよろしくおねがいします。

※文字化けして消えてしまうので「$*」と全角にしています。

Hey @111561

“""はワイルドカードですが、セレクターではありません!"
"
” is a wildcard but in the selectors!

正規表現において、アスタリスク(*)は直前の要素が0回以上繰り返されることを示す量指定子です。つまり、直前の要素が0回以上出現することができることを意味します。

In regular expressions, the asterisk (*) is a quantifier that matches the preceding element zero or more times. It means the preceding element can occur 0 or more times.

正規表現の"$.doc$“では、最初の”$“は文字列内の”.doc"の前に任意の文字(なしを含む)があることを示しています。最後の"$“は”.doc"の後に任意の文字(なしを含む)があることを示しています。したがって、これらを合わせると、文字列が任意の文字で始まり、".doc"に続き、そして任意の文字で終わることを指定しています。

In the regular expression “$.doc$”, the first “$” indicates that there can be any characters (including none) before the “.doc” part of the string. The last “$” indicates that there can be any characters (including none) after the “.doc” part of the string. So, together, they specify that the string can start with any characters, followed by “.doc”, and then end with any characters.

例:

1.「document.doc」:「.doc」で終わるため一致します。
2. “mydocument.docx”: “.doc” で終わるため一致します。
3. 「invoice123.doc」:「.doc」で終わるため一致します。
4.「presentation.ppt」:「.doc」で終わらないため不一致です。

Examples:

  1. “document.doc”: Matches because it ends with “.doc”.
  2. “mydocument.docx”: Matches because it ends with “.doc”.
  3. “invoice123.doc”: Matches because it ends with “.doc”.
  4. “presentation.ppt”: Doesn’t match because it doesn’t end with “.doc”.

Regards,
Ajay Mishra

1 Like

正規表現なんですね!

この部分が教えていただきたかったことです。
理解できました。

ありがとうございます!

こんにちは

解決済みになっていますが、このプロパティは正規表現ではないですね。
おそらく問題・回答が誤っているのではないかとおもいますが、どこにある問題でしょうか?

あと実際に試してみるとよいと思います。(上記フィルター条件では.docやdocxはひっかかりませんので) 書くなら*.doc*かと

1 Like

https://uipath.onlinetests.app/assess.aspx?aid=UIPATH-ADAV1-PTJPN&key=uippassword
この中に出てくる問題です。
答えは以下からの選択式です。

Microsoft Word
"*.doc"
"$*.doc$*"
"*.doc, *docx"

"*.doc, *docx"」や「"*.doc"」を選択すると、間違いになりました。
"$*.doc$*"」を選択すると、正解でした。

違うのですね…。お恥ずかしいです…。

Hey @Yoichi you are somewhere correct but @111561 is solving a test in that there is no option like *.doc* for the question.

So, from the given options 3rd option is correct one!

Regards,
Ajay Mishra

HI,

Nope, the 3rd option won’t work, too. Can you try it actually?

I think there is no correct option due to something wrong.

Regards,

@Yoichi

3rd Option means

This One!

Regards,
Ajay Mishra

HI,

It won’t work. Did you run actually?

Regards,

Yes, I tried all the above options are incorrect, the working one is *.doc*

Regards,
Ajay Mishra

随分と時間が経ってしまい、申し訳ございません。

自分でも試してみました。

まず、以下がテスト問題のスクショです。

やはり、正解は"$*.doc$*"で、それ以外を選択すると不正解と判定されます。

また、自分でも実際に[繰り返し(フォルダー内の各ファイル)]アクティビティで試してみました。
フィルター条件に"$*.doc$*"を設定しても上手くいかず、"*.doc*"と設定すると.docファイルも.docxファイルも対象として扱ってくれました。

テスト問題についてはモヤモヤが残りますが、実際にやってみて答えがわかりました。
ありがとうございました。

1 Like

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