0

我正在用 PHP 编写程序,我需要找到介于两组符号之间的数据,并将其转换为字符串。例如

$main = "Hello, everyone, my name is (-Jack-)"
$string = regex_function('(-', $main) #should return "Jack"

我如何使用正则表达式函数或其他东西获得该输出

4

2 回答 2

1

尝试这个 :

$main  = 'Hello, everyone, my name is (-Jack-)';

preg_match_all('/\(\-(?P<name>.*)\-\)/', $main, $matches);

echo "<pre>";
print_r($matches);

echo $matches['name'][0];
于 2013-03-08T07:22:31.877 回答
1

该函数被称为preg_match_all()

$main = "Hello, everyone, my name is (-Jack-)";
preg_match_all('/\(\-(?P<name>\w+)\-\)/', $main, $string);
print_r( $string );

键盘上的示例输出。


参考@Prasanth 的评论;这是一个更好的正则表达式。

$main = "Hello, everyone, my name is (-Jack stuff-) some more text (-John stuff-)";
preg_match_all('/\(\-(?P<name>[\s\w]+)\-\)/', $main, $string);
print_r( $string );

键盘链接。

于 2013-03-08T07:25:56.690 回答