我想从php
中的表达式中删除模式$string="[हो_VAUX, अस_VAUX] : 837";
我希望将模式हो,अस
作为答案。
所以,我做了这个
$str=preg_replace('/\[ _A-Z/', '', $string);//removes backspace characters
$str=strstr($str, "_", true); //remnoves all the characters of the right to _.
我想得到हो,अस
。请帮我理解这个。 हो,अस
答案 0 :(得分:1)
为什么不使用它?
$str=preg_replace('/\w|\[|\]|:|\s/', '', $string);
输出
हो,अस
解释
\w = 0-9a-zA-Z_
| = or
\[ = [
| = or
\] = ]
| = or
: = :
| = or
\s = ' '
我甚至将它最小化了一点。
如果你真的想得到花哨的话
$str = preg_replace("/^.*?(हो).*?(अस).*?$/", "\1,\2",$string);
答案 1 :(得分:0)
看看这将完成工作,但绝不是最有效的方法:
$string="[हो_VAUX, अस_VAUX] : 837";
$str=preg_replace('/[a-zA-Z0-9]+/', '', $string);//removes backspace characters
$str = str_replace(array(':', '_', ']', '[', ' '), '', $str);
echo $str;
这给了你:
हो,अस
说明:
preg_replace()
删除所有字母数字字符str_replace()
从字符串中删除提供的不需要的字符数组。答案 2 :(得分:0)
试试这一行,
$testString = "[हो_VAUX, अस_VAUX] : 837";
echo preg_replace("/[A-Z0-9\]\[_:\s]/", "", $testString);
答案 3 :(得分:0)
如果只是删除所有字母数字和一些选择的符号字符得到你的答案,以下代码将完成工作:
$answer = preg_replace('/\\w|[][ :]/', '', $string);
// ^- add more symbols here