如何从字符串中完全省略/删除键:值项?
(\w+):"?\K((?(?<=")[^"]*|\w*))
我有这个正则表达式,它试图找到所有键:值或键:&#34;值&#34;项目。如何从字符串中完全删除这些项目?
I like to ride a camel tag:videos tag:nope country:"none"
= I like to ride a camel
由于
答案 0 :(得分:2)
preg_replace("@[^\s]+\:[^\s]+\ @",'',"I like to ride a camel tag:videos tag:nope ");
我不会描述preg_replace()
方法的参数是什么,因为它只是在这里:http://php.net/manual/en/function.preg-replace.php
[^\s]
可以是任何不是空格的字符(除了^
之外的任何字符)。其背后的+
意味着此角色可以出现1次或更多次。
\ s代表&#34;空白字符&#34;。再次,这个字符 实际上包括,取决于正则表达的味道。各种口味 在本教程中讨论,它包括[\ t \ r \ n \ f]。那是:\ s 匹配空格,制表符,换行符或换页符。大多数口味 还包括垂直选项卡,Perl(版本5.18之前)和 PCRE(版本8.34之前)是值得注意的例外。在口味中 支持Unicode,\ s通常包含Unicode中的所有字符 &#34;隔板&#34;类别。 Java和PCRE再次成为例外。但 JavaScript确实将所有Unicode空白与\ s匹配。
来源:http://www.regular-expressions.info/shorthand.html
@
是分隔符。只要知道他们在PHP
你总是要把你的正则表达式放在其中。分隔符可以是@
或/
或#
,...
答案 1 :(得分:0)
我会用这个regx
{{1}}
比如这里
{{1}}
答案 2 :(得分:0)
答案 3 :(得分:0)