0%
文本处理及正则表达式
1. 基于文本的应用
控制台应用程序
- Main() 函数的参数——命令行参数
- 可以带 string[] 参数
- 可以有返回值 (int),也可以为 void
Environment 类
1 2 3 4 5 6 7 8 9 10
| CommandLine CommandLineArgs MachineName OSVersion UserDomainName UserName GetEnvironmentVariables CurrentDirectory SystemDirectory GetFolderPath(Environment.SpecialFolder.System)
|
2. 文本处理常用的几个类
1 2 3
| Write WriteLine ReadLine
|
- String 类
- StringBuilder 类
- System.Text.Encoding 类
1 2 3 4 5
| .Default .UTF8 .GetEncoding .GetBytes(str) .GetString(byte[])
|
3. 正则表达式
- Regular Expression
- 用来表示匹配某类文本
要素
字符
ab
,\t
,\[
,\u0020
,\x20
[a-zA-z]
即 \w
[0-9]
即 \d
[^0-9]
即 \D
\s
即空白
\S
即非空白
.
表任意
次数
{2,6}
*
即 {0,}
+
即 {1,}
?
即 {0,1}
*?
,+?
,??
表示 lazy 匹配
- 匹配上一个就结束
- 正常为 greedy 匹配,尽可能匹配上更多的字符
功能符
|
表示或者
()
表示成组
(?<名称>xxxxxxxx)
表示对分组进行命名
- 在替换时, 使用
${名称}
- 若不命名,则为
$1
、$2
等等,$0
表示整个匹配
(?i:xxxxxxxxx)
表示选项(i 表示忽略大小写)
- 预编译
位置限定
^
(首)
$
(尾)
\b
单词边界
\B
非单词边界
正则表达式工具
正则表达式类
1
| using System.Text.RegularExpressions;
|
1
| Regex.IsMatch( s, pattern );
|
1 2 3 4
| IsMatch(s); Match(s); Matches(s); Replace(s, r);
|
1 2 3
| Groups; Value; Result(xxxxx);
|
代码示例
- Regex1
- Regex2
- 音乐播放器
- 工具箱 \(\to\) 常规(右键) \(\to\) 通用 windows 组件 \(\to\)
AxWMPLib.AxWindowsMediaPlayer