cashiba 发表于 2016-12-23 00:00:01

问一个正则的小问题[已解决]

本帖最后由 cashiba 于 2016-12-23 21:31 编辑

[ ... ]
匹配字符组中的任意一个字符: "" 匹配x或匹配y.
[^xy]
匹配组中任何未指定的字符: "[^xy]" 匹配任何非x以及非y
X|Y
匹配 X 或 Y: "ac|dc|ground" 匹配 "ac" 或 "dc" 或 "ground".
以上是帮助文件中StringRegExp的部分正则语法。

X|Y好像等同于,也就是逻辑或匹配

想问一下,如果要匹配逻辑与的,也就是既含x又含y的,用什么符号表示呢?

zghwelcome 发表于 2016-12-23 08:58:51

本帖最后由 zghwelcome 于 2016-12-23 09:00 编辑

我理解错题意了

q410225 发表于 2016-12-23 11:48:44

坐板凳,听老师上课

Alam 发表于 2016-12-23 12:58:18

正则所能处理的字符串,是已知,基于表达式能匹配出来的结果,也可以看作是已知的.
表达式就是正则的条件,处理的依据.
所以,既有X,又有Y时,你应当知道其顺序,是 XY 还是 YX, 或是 ...X...Y...等等
如果是未知,则必须根据各种可能来构建表达式,然后进行多种判断了.

afan 发表于 2016-12-23 14:01:07

简单的可以两处以内可以(?s)X.*?Y|Y.*?X个人认为,这种匹配包含两处以上不定次序字符串的,不如分开分别用正则或 StringInStr() 简单且好维护

cashiba 发表于 2016-12-23 21:23:45

感谢各位老师以及A大.....
问这个问题是因为在使用WinList("")这种限定标题的正则时突然想到的,既然有逻辑或的简单符号"|",估计应该也有逻辑与的简单标记方法,但是粗看了一遍正则语法,没找到.
对正则不熟,所以才问一下
{:face (332):}

wbb870319 发表于 2016-12-29 18:41:45

想大大们学习。
页: [1]
查看完整版本: 问一个正则的小问题[已解决]