我的php checkRE函数显示正确的答案,但我认为这是错误的


My php checkRE function shows the answer right but I think it is wrong

RegEx是['w|'W]*'s['w|'W]*,字符串是aaab@ asd123,因为我认为['w|'W]*等于'w*|'W*,这意味着多个单词字符或非单词字符…怎么能像aab@那样同时有文字和非文字字符呢?

注意:您的字符串似乎是用空格分隔的,所以您可以只使用explode(" ", $s)。下面的答案只是解释一下regex是如何工作的。

我相信你误解了['w|'W]*'w*|'W*:第一个匹配任何0+字符,第二个匹配0+单词字符或0+非单词字符。

你似乎想匹配0+非空白字符,使用'S+:

'S+'s+'S+

或者,捕获两个非空白部分:

('S+)'s+('S+)

+将使模式匹配一次或多次出现的非空白模式。

查看regex演示