Jor*_*sen 0 php regex recursion pcre preg-match
我需要提取一个以逗号或逗号和空格分隔的字符串。例子:
<?php
//regexp
$regexp = "/(select\s+(?<name>[a-z0-9]+)\s+(?<values>[^\d]+[a-z0-9]+\s*(\s*,|\s*$)))/";
//text
$text = "select this string1,string_2,string_3 ,string_4, string5,string_6";
//prepare
$match = array();
preg_match( $regexp , $text , $match );
//print
var_dump( $match);
?>
Run Code Online (Sandbox Code Playgroud)
我创建了这个正则表达式:
(?<values>[^\d]+[a-z0-9]+\s*(\s*,|\s*$))
Run Code Online (Sandbox Code Playgroud)
但这并不完美。
谢谢!
我会为此使用preg_split :
$text = "select this string1,string_2,string_3 ,string_4, string5,string_6";
$stringArray = preg_split("/,\s*/",$text);
Run Code Online (Sandbox Code Playgroud)
但在每个逗号之后进行分割然后修剪结果会更容易:
$stringArray = explode(",",$text);
Run Code Online (Sandbox Code Playgroud)