0

我正在使用这个/\([^\S\n]*(.*)[^\S\n]*\)/正则表达式来匹配括号内的内容,它工作得很好,除非有尾随空格,它匹配它们。

例如,( test1 test2 )我想匹配test1 test2,但我匹配test1 test2_(我写了下划线,但它是尾随空格)。

知道如何从我的比赛中删除这个尾随空格吗?

我正在使用 PHP preg_replace 函数。

4

2 回答 2

1

将表达式锚定到文本的末尾怎么样?

/\([^\S\n]*(.*)[^\S\n]*\)$/
                         ^

之后没有空格\)

于 2012-05-26T11:10:57.223 回答
1

试试这个

/\(\s*([^)]+?)\s*\)/

结果:

$reg = '/\(\s*([^)]+?)\s*\)/';

var_dump( preg_replace( $reg, '$1', "( test1 test2 )" ) );

//string(11) "test1 test2"
于 2012-05-26T11:23:53.893 回答