Php 正则表达式删除所有包含非字母数字值的字符串

Php 正则表达式删除所有包含非字母数字值的字符串,php,regex,Php,Regex,再次: 在这里,我确实匹配了所有非字母数字的内容:^a-zA-Z0-9我需要清理它之前的所有内容,直到下一个空格(空格\s…我不知道怎么做,我自己已经尝试了很多),直到我删除字母数字字符之后的所有内容,但是在下一个空格之前,它之前的内容是什么? 请:*=所有非字母数字 ^a-zA-Z0-9 但在我的工作中,我面临着一个案例,我需要在几个变量中做一个大的清理,但要寻找“/[^a-zA-Z0-9\s]/”和我粘在上面的所有东西 [Stop in white space, leave it]888

再次:

在这里,我确实匹配了所有非字母数字的内容:^a-zA-Z0-9我需要清理它之前的所有内容,直到下一个空格(空格\s…我不知道怎么做,我自己已经尝试了很多),直到我删除字母数字字符之后的所有内容,但是在下一个空格之前,它之前的内容是什么? 请:*=所有非字母数字

^a-zA-Z0-9 
但在我的工作中,我面临着一个案例,我需要在几个变量中做一个大的清理,但要寻找“/[^a-zA-Z0-9\s]/”和我粘在上面的所有东西

[Stop in white space, leave it]888AAAA*AAAA888[white space]
Asterisk is representing any non-alpha character.(~^*&%$>>>)
I need find the * and clean it: * and everything that comes before or after and stop only while find first white space. 
    Exactly how it does: 
[^\s*]*\*([a-zA-Z0-9]*) But only works only with asterisks.

[^\s*]*\*([a-zA-Z0-9]*);
每次我找到一个非字母数字的字符时,向前和向后删除所有内容,并在空格处停止:

 I need this output with:
That is a big house mmmm&MmmMM pppp%MMMM hhhh!HHHH UUUU?000^uuuu~yyyy and very well localized 

 What else is non alpha numeric? "/[^a-zA-Z0-9\s]/"  or \W
再次感谢。

那么:

[^\s*]*\*([a-zA-Z0-9]*)
输出:

$input = 'That is a big house 1 mmmm&MmmMM 2 pppp%MMMM 3 hhhh!HHHH 4 UUUU?000^uuuu~yyyy';
$result = preg_replace('/(\d+\s)\S+/i', '$1', $input);
echo $result,"\n";
That is a big house 1  2  3  4 
说明:

$input = 'That is a big house 1 mmmm&MmmMM 2 pppp%MMMM 3 hhhh!HHHH 4 UUUU?000^uuuu~yyyy';
$result = preg_replace('/(\d+\s)\S+/i', '$1', $input);
echo $result,"\n";
That is a big house 1  2  3  4 

那是什么,我不明白你的问题。。。这是一个混合的混合的东西。。。请把问题写好。。。对于示例输入和输出,您的答案如下:是否需要保留最后一个空格?是否可能重复?@公平这个问题与删除非字母数字值无关,这里的问题是向后,删除之前的内容,直到找到并尊重公共空间。作为非字母数字之前筛选的退格。非常感谢Toto的解释!我现在会想一想,看看我是否能用它,为我的案例创造一些东西,因为如果我用这些值来应用​​在上面,它是有效的,但是如果我将它与其他符号一起使用,命令会执行得太多,直到整句话,@Rizwan M.Tuman的代码几乎完美,它使动作完美,但它只与星号一起工作,我不知道如何将所有字符[^a-zA-Z0-9\s]应用到他的代码上。嗨@toko。。代码Rizman有一个完美的输出:那是一个大房子1 mmmm*MMMMM 2 pppp*mmmm 3 hhh*hhhh 4 uuuuu*000*uuuuu*yyyy那是一个大房子1 2 3但我不知道如何适应我的问题,这是所有的特殊字符,它们的背面,它们的删除是多余的,但它们的解释非常好,我将在这里和她一起工作,然后回到这里。@IoriSanch:请编辑您的问题,并为每个问题添加一些测试用例、一些输入字符串和预期结果。您在前面的评论中给出的字符串与您在问题中解释的不符。完全正确!!绝对解决:-)多亏了很多!!这是一个我必须回答的问题,但我从未遇到过这个问题,因为我必须使用“$1”和“非简单”来进行清洁,而不删除数字?因为当我试着去做的时候,数字是一致的!如果我给你1美元,你的退出就完美无缺了!这是完美的功能,我只是想学习这个!为什么不需要使用?请帮助我@Toto抱歉,让您了解AAAAA和AAAAA污垢之间的数字是必要的,污垢之间的数字是为了让您了解代码必须尊重空格,而不是整体清理,您的代码只有像Rizman一样的完美输出,如果我把数字放在每个带符号的脏字符串之间!它们只是尊重空格的一个例子,两边的扫描应该从每一个新的带符号的脏字符串开始,你的字符串是90%,缺少编号字段的要求!就像你在正则表达式中写的一样神奇!