我们有mysql结果,字符串如下: 测试字符串文章标题 (此字符串是正常的,带有第一个大写字母) 测试字符串文章标题 (此字符串包含正文中的大写字母) 我们如何匹配包含大写字母的字符串(第二个示例字符串)而不匹配第一个字母(第一个示例字符串)?
答案 0 :(得分:1)
如果要匹配包含大写字母的所有字符串,但不关心第一个单词的大小写,则可以使用以下正则表达式Multiline
选项:
^\p{L}*\s*(?:\p{Lu}\p{L}*\s*)+$
查看this example。
它将匹配"测试字符串文章标题","测试字符串文章标题",但不匹配"测试字符串文章标题"。
示例代码:
$re = "/^\\p{L}*\\s*(?:\\p{Lu}\\p{L}*\\s*)+$/m";
$str = "Test string article title\nTest String Article Title\ntest String Article Title";
preg_match_all($re, $str, $matches);