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

时间:2016-10-18 13:47:08

标签: php regex

RegEx为In [362]: L = [{'person_name': 'FRAUDSTER_3', 'score': 10.33}, {'person_name': 'FRAUDSTER_5', 'score': 10.11}, {'person_name': 'FRAUDSTER_2', 'score': 10.44}, {'person_name': 'FRAUDSTER_4', 'score': 10.22}, {'person_name': 'FRAUDSTER_1', 'score': 10.55}] In [363]: L.sort(key=operator.itemgetter('score')) In [364]: [i['score'] for i in L] Out[364]: [10.11, 10.22, 10.33, 10.44, 10.55] ,字符串为[\w|\W]*\s[\w|\W]*,因为我认为aaab@ asd123等于[\w|\W]*,这意味着多个字符或非字符...它如何同时包含单词和非单词字符,如\w*|\W*

1 个答案:

答案 0 :(得分:0)

注意:您的字符串似乎是以空格分隔的,因此您只需使用explode(" ", $s)即可。下面的答案是解释正则表达式的工作原理。

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

您似乎想要匹配0+非空白字符,请使用\S+

\S+\s+\S+

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

(\S+)\s+(\S+)

+将使模式在一段时间内匹配一个或多个非空白模式。

请参阅regex demo