Csharp 简明教程
C
regular expression 是可与输入文本进行匹配的模式。.Net 框架提供了一个正则表达式引擎,允许进行这样的匹配。模式由一个或多个字符文本、运算符或构造组成。
A regular expression is a pattern that could be matched against an input text. The .Net framework provides a regular expression engine that allows such matching. A pattern consists of one or more character literals, operators, or constructs.
Constructs for Defining Regular Expressions
有各种字符、运算符和构造类别,使您可以定义正则表达式。单击以下链接找到这些构造。
There are various categories of characters, operators, and constructs that lets you to define regular expressions. Click the following links to find these constructs.
The Regex Class
Regex 类用于表示正则表达式。它具有以下常用方法 −
The Regex class is used for representing a regular expression. It has the following commonly used methods −
Sr.No. |
Methods & Description |
1 |
public bool IsMatch(string input) Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string. |
2 |
public bool IsMatch(string input, int startat) Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string. |
3 |
public static bool IsMatch(string input, string pattern) Indicates whether the specified regular expression finds a match in the specified input string. |
4 |
public MatchCollection Matches(string input) Searches the specified input string for all occurrences of a regular expression. |
5 |
public string Replace(string input, string replacement) In a specified input string, replaces all strings that match a regular expression pattern with a specified replacement string. |
6 |
public string[] Split(string input) Splits an input string into an array of substrings at the positions defined by a regular expression pattern specified in the Regex constructor. |
有关方法和属性的完整列表,请阅读 Microsoft 关于 C# 的文档。
For the complete list of methods and properties, please read the Microsoft documentation on C#.
Example 1
以下示例匹配以“S”开头的单词——
The following example matches words that start with 'S' −
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
private static void showMatch(string text, string expr) {
Console.WriteLine("The Expression: " + expr);
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "A Thousand Splendid Suns";
Console.WriteLine("Matching words that start with 'S': ");
showMatch(str, @"\bS\S*");
Console.ReadKey();
}
}
}
编译并执行上述代码后,将产生以下结果 −
When the above code is compiled and executed, it produces the following result −
Matching words that start with 'S':
The Expression: \bS\S*
Splendid
Suns
Example 2
以下示例匹配以“m”开头且以“e”结尾的单词——
The following example matches words that start with 'm' and ends with 'e' −
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
private static void showMatch(string text, string expr) {
Console.WriteLine("The Expression: " + expr);
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "make maze and manage to measure it";
Console.WriteLine("Matching words start with 'm' and ends with 'e':");
showMatch(str, @"\bm\S*e\b");
Console.ReadKey();
}
}
}
编译并执行上述代码后,将产生以下结果 −
When the above code is compiled and executed, it produces the following result −
Matching words start with 'm' and ends with 'e':
The Expression: \bm\S*e\b
make
maze
manage
measure
Example 3
以下示例替换额外空格——
This example replaces extra white space −
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
static void Main(string[] args) {
string input = "Hello World ";
string pattern = "\\s+";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
Console.ReadKey();
}
}
}
编译并执行上述代码后,将产生以下结果 −
When the above code is compiled and executed, it produces the following result −
Original String: Hello World
Replacement String: Hello World