问题:希望从字符串中抽取出所有单词。
解决方案:最简单的办法就是使用PCRE《单词字符》字符类型转义序列\w,\w转义序列可以匹配字母、数字和下划线。它不包括其他标点符号。
这里将列出多行文本框textarea里面的英语单词
这基本上是正确的,只不过Nothing's被分成Nothing和s。要扩展这个模式来正确地处理英语缩写,可以匹配单词字符或夹在单词字符之间的撇号:
这个模式中的?:语法可以避免捕获小括号中子模式匹配的文本。通过增加u修饰符,模式可以支持Unicode,能够用非ASCII字符集正确地处理单词。例如:
如果这个模式末尾没有u,就会从匹配去除非ASCII字符,这会得到不正确的结果。