The anchors ^ and $ match a particular position. By default:
^ | Matches the start of the string |
$ | Matches the end of the string |
^ has two context-dependent meanings: an anchor and a character class negator.
$ has two context-dependent meanings: an anchor and a replacement group denoter.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
Console.WriteLine (Regex.Match ("Javascript", "^[J]a"));
Console.WriteLine (Regex.Match ("C#", "[Cc]$"));
}
}
The output:
Ja
If you specify RegexOptions.Multiline or include (?m) in the expression:
A new line in Windows is nearly always denoted with \r\n rather than just \n.
This means that for $ to be useful, you must usually match the \r as well, with a positive lookahead: (?=\r?$)
The positive lookahead ensures that \r doesn't become part of the result.
The following matches lines that end in ".txt":
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
string fileNames = "a.txt" + "\r\n" + "b.doc" + "\r\n" + "c.txt";
string r = @".+\.txt(?=\r?$)";
foreach (Match m in Regex.Matches (fileNames, r, RegexOptions.Multiline))
Console.Write (m + " ");
}
}
The output:
a.txt c.txt
java2s.com | Contact Us | Privacy Policy |
Copyright 2009 - 12 Demo Source and Support. All rights reserved. |
All other trademarks are property of their respective owners. |