我对这个正则表达式的作用感到困惑:
preg_replace('/^'s*'((.+)')'s*$/', '$1', $part);
谁能给我一个要点,它是做什么的? 查找在前后有一组带空格的父元素的行,并删除父元素和空格。例如,
(foo)
是
foo
匹配…
- 可选的前导空格。
- 文字
(
. - 除换行符外的任意字符。
- 文字
)
. - 可选尾随空格。
所以它会匹配像…
(Hello)
…并替换为…
Hello
CodePad .
值得注意的是在字符串中,如…
(Hello)(World)
…它将返回…
Hello)(World
CodePad .
您可以通过在+
之后添加?
使捕获组不贪婪来停止此匹配。
函数删除空格和圆括号。它用组#1 ($1
)替换开头和结尾的任意数量的空格字符,加上两边的开括号和闭括号的字符串,这是在开头和结尾没有空格或括号的字符串。
拆分:
-
's*
匹配任意数量的连续空格字符。 -
'(
匹配左括号。 -
(.+)
匹配任何连续字符。 -
')
匹配右括号。 -
's*
匹配更多空格
基本上,它转换为:
(Hello)
:
Hello