在php中定期表达

ehp*_*ehp 1 php regex preg-replace preg-match

我需要一个正则表达式来检查字符串是否为大写字母.它找到一个大写的地方它需要在它之前添加空格.我为此编写了一些代码,但问题是它只有在字符串中只有一个大写字母时才有效.但我需要使用字符串中存在的任意数量的大写字母.我粘贴了下面的代码:

 $regEx = preg_match('*[A-Z]*', $str, $matches, PREG_OFFSET_CAPTURE);
            if(!empty($regEx)) {
                $str = substr_replace($str,' ', $matches[0][1], 0);
            }
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 5

我需要一个正则表达式来检查字符串是否为大写字母.在找到大写的地方,它需要在它之前添加空格.

preg_replace() 听起来更适合实现这个目标......

$str = preg_replace('/[A-Z]/', ' $0', $str);
Run Code Online (Sandbox Code Playgroud)

CodePad.

  • 可能更好地使用`/`而不是`*`作为`*`是一个正则表达式元字符.这样可以避免混淆. (2认同)