如果我想根据以下模式找到匹配项,我应该使用什么正则表达式:
Open Module Settings
其中%abc%xyz%
是通配符。
匹配的词是 -
您好的 ABC 你好的 XYZ 熙
测试1的 ABC 的Test2的 XYZ Test3的
提前致谢。感谢您的帮助。
答案 0 :(得分:6)
简而言之:
.*abc.*xyz.*
这匹配包含第一个"abc"
然后"xyz"
的所有字词(包括您的示例字词)
答案 1 :(得分:2)
正则表达式为:
^[\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 }