Key ของ Regex. ในกรณีที่มี วงเล็บ ต้องใช้ \ เช่น ( [ { } ] )
"FX\((.*?)\)";
public static void Main(string[] args)
{
var ps = @"FX\((.*?)\)";
Regex regex = new Regex(ps);
Match m = regex.Match("morenonxmldata FX(0002)morenonxmldata FX(2929)");
if (m.Success)
{
Console.WriteLine(m.Groups[1]); // inner text
Console.WriteLine("Value = " + m.Value); // แสดง ค่า
Console.WriteLine("Length = " + m.Length); // ความยาว
Console.WriteLine("Index = " + m.Index);// แสดงตำแหน่ง
}
}
ถ้าต้องการ ทำต่อ ให้ใช้
Match match = match.NextMatch();
if (match.Success)
{
Console.WriteLine(match.Value);
}
หรือ
var v = Regex.Matches("morenonxmldata FX(0002)morenonxmldata FX(2929)",ps);
ทดลอง เปลี่ยน และ ต่อ ตัวหนังสือ
public static void Main(string[] args)
{
string ps = @"FX\((.*?)\)";
Regex regex = new Regex(ps);
string nps="";
string txt="morenonxmldata FX(0002)morenonxmldata FX(2929)aa";
int sIndex=0;
var v = Regex.Matches(txt,ps);
foreach(Match m in v)
{
Console.WriteLine(m.Groups[1]);
Console.WriteLine("Value = " + m.Value);
Console.WriteLine("Length = " + m.Length);
Console.WriteLine("Index = " + m.Index);
nps+=txt.Substring(sIndex,m.Index-sIndex);
nps+=m.Groups[1].ToString();
Console.WriteLine(nps);
sIndex=m.Index+m.Length;
}
if(sIndex<txt.Length){ // ต่อ txt ที่เหลือ
nps+=txt.Substring(sIndex);
}
Console.WriteLine(nps);
}