在文本的开头和中间结尾具有野字符的正则表达式

本文关键字:字符 正则表达式 中间 文本 开头 结尾 | 更新日期: 2023-09-27 17:50:09

如果我想根据以下模式找到匹配,应该使用什么正则表达式:
%abc%xyz%,其中%为通配符。

匹配的词是-

abc

你好 xyz 庆熙

abc Test1

Test2 xyz Test3

提前感谢。谢谢你的帮助。

在文本的开头和中间结尾具有野字符的正则表达式

总之:

.*abc.*xyz.*

匹配所有先包含"abc"然后包含"xyz"的单词(包括示例单词)

正则表达式为:

^['s'S]*abc['S's]*xyz['s'S]*$

对于['s'S],一个包含所有空格字符's和所有非空格字符'S的框;也就是说,所有字符。

如果不想包含新行,只需使用:

^.*abc.*xyz.*$

.几乎匹配所有内容,除了新行。

如果不是想要允许新的行、空格等,可以使用:

^'S*abc'S*xyz'S*$

示例(在csharp交互式shell上)

$ csharp
Mono C# Shell, type "help;" for help
Enter statements below.
csharp> using System.Text.RegularExpressions;
csharp> Regex regex = new Regex(@"^['s'S]*abc['S's]*xyz['s'S]*$");
csharp> regex.Matches("HiabcHelloxyzHee");
{ HiabcHelloxyzHee }
csharp> regex.Matches("Test1abcTest2xyzTest3");
{ Test1abcTest2xyzTest3 }
csharp> regex.Matches("fooabcbar");             
{  }
csharp> regex.Matches("fooabcbarxyz");
{ fooabcbarxyz }
csharp> regex.Matches("fooabcbarxyz  dasd");
{ fooabcbarxyz  dasd }
csharp> regex.Matches("fooabc   barxyz  dasd");
{ fooabc   barxyz  dasd }