我正在使用这个/\([^\S\n]*(.*)[^\S\n]*\)/
正则表达式匹配括号内的内容,除非有尾随空格,否则它会很好用。
例如( test1 test2 )
我想匹配test1 test2
,但我匹配test1 test2_
(我写下划线,但它是尾随空格)。
知道如何从匹配中删除此尾随空格吗?
我正在使用PHP preg_replace函数。
答案 0 :(得分:1)
将表达式锚定到文本的末尾怎么样?
/\([^\S\n]*(.*)[^\S\n]*\)$/
^
\)
之后没有空格。
答案 1 :(得分:0)
试试这个
/\(\s*([^)]+?)\s*\)/
结果:
$reg = '/\(\s*([^)]+?)\s*\)/';
var_dump( preg_replace( $reg, '$1', "( test1 test2 )" ) );
//string(11) "test1 test2"