kiki1
1
いつも大変お世話になっております。
下記の文字列から「同年同月19日」のみ抽出したいのですが、エラーが生じます。
変数:同年同月19日(火)午後3時まで
変数 = System.Text.RegularExpressions.Regex.Match(変数,"*日").Value
エラーメッセージ:「 “message”: “代入: Invalid pattern ‘*日’ at offset 1. Quantifier {x,y} following nothing.”,」
お気づきの点ありましたらご教授ください。
Yoichi
(Yoichi)
2
こんにちは
以下お試しください
System.Text.RegularExpressions.Regex.Match(変数,".*?日").Value
mkankatala
(Mahesh Kankatala)
3
Hi @kiki1
Can you try the below syntax:
変数 = System.Text.RegularExpressions.Regex.Match(変数, ".*日").Value
Hope it helps!!
Regards
kiki1
4
アドバイスありがとうございます。
こちらは「.*?」、何を意味しているのでしょうか??
Yoichi
(Yoichi)
5
.
は改行を除く任意の文字、*
は直前の要素と 0 回以上とのマッチ。?
はこの場合最短一致になります。
つまり 「(任意の0文字以上の文字)日」となる文字列とマッチします。
最短一致指定をしているのは、たとえば 同年同月19日(日)午後3時まで
と曜日で「日」があった場合、最短一致指定をしていないと 同年同月19日(日
までが抽出されるので、それを防ぐためです。
なお正規表現のアスタリスクは通常のワイルドカードとは異なりますので、ご留意ください
kiki1
6
ご丁寧にありがとうございます。
とても参考になりました 
system
(system)
Closed
7
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.