正規表現について質問です。
投稿者 shu  (社会人)
投稿日時
2011/3/15 09:09:17
抜き出すというのがどういうことかいまいち分かりません。
Dim str1 as String = "z=""x=y"""
Dim str2 as String = "x=""y"""
str1.Indexof("y") => 5
str2.Indexof("y") => 3
となります。"y"が含まれていればIndexofの結果は0以上
含まれていなければ-1です。
とり除くということであればstr1.Replace("y", "")となります。
Dim str1 as String = "z=""x=y"""
Dim str2 as String = "x=""y"""
str1.Indexof("y") => 5
str2.Indexof("y") => 3
となります。"y"が含まれていればIndexofの結果は0以上
含まれていなければ-1です。
とり除くということであればstr1.Replace("y", "")となります。
投稿者 SCOP  (社会人)
投稿日時
2011/3/15 12:51:19
shuさんご回答有難うございます。
書き方が悪かったです。
再度書き直します。
ある文書では
foo = "bar = y"
また別のある文書では
bar = "y"
のようになっているときがあります。
この y は一定の値を取る物ではなく、「A」のときもあれば「B」のときもあります。
foo = "bar = A"
foo = "bar = B"
bar = "A"
bar = "B"
上のような場合でもすべてyに値するところだけを正規表現で表現したいです。
書き方が悪かったです。
再度書き直します。
ある文書では
foo = "bar = y"
また別のある文書では
bar = "y"
のようになっているときがあります。
この y は一定の値を取る物ではなく、「A」のときもあれば「B」のときもあります。
foo = "bar = A"
foo = "bar = B"
bar = "A"
bar = "B"
上のような場合でもすべてyに値するところだけを正規表現で表現したいです。
投稿者 shu  (社会人)
投稿日時
2011/3/15 13:33:18
Dim reg As New System.Text.RegularExpressions.Regex("bar = (""(?<VAL>.*?)""|(?<VAL>.*?)"")")
Dim m = reg.Match(TextBox1.Text)
If m.Success Then
Console.WriteLine(m.Groups("VAL"))
End If
こんなんでどうでしょう?
Dim m = reg.Match(TextBox1.Text)
If m.Success Then
Console.WriteLine(m.Groups("VAL"))
End If
こんなんでどうでしょう?
ある文書では z="x=y"のようになっており、ある文書では x="y"
のようになっています。
x=yのときもあればx="y"のときもある、ということです。
このようなyを抜き出すにはどのように表現すればいいのでしょうか。