晚上好。
你能告诉我如何剪切正则表达式中的第一个和最后一个字符吗?假设我们有一个像这样的正则表达式:
preg_match_all('/[\:]{1}[\w\-]{1,}[\:]{1}/i', ':blah-blah-blah-blah:', $print, PREG_SET_ORDER);
print_r($print);
输出:
Array
(
[0] => Array
(
[0] => :blah-blah-blah-blah:
)
)
那些。不带冒号显示。
选择括号:
然后:
得到:
注意 可以简化为:
{1}- 原则上不需要,但{1,}可以用+通过PHP:
使用trim函数,它从字符串的开头和结尾删除指定的字符
在 php 中,有一个向前和向后查找:
[\w\-]+- 你需要的子串,(?<=:)- 子字符串前的冒号字符(结果中未捕获),(?=:)- 子字符串后的冒号字符(结果中未捕获)。工作示例https://regex101.com/r/M3y0ZK/1
PS 没错,在这种形式下会有这样的捕获https://regex101.com/r/M3y0ZK/2