Regex: match all special characters but not *
<p>Yet another question about a regex.</p>

<p>I'm trying to match all special characters, except '*'.</p>

<p>So if I match my regex against:</p>

<pre><code>John%%%* dadidou
</code></pre>

<p>I should get:</p>

<pre><code>John* dadidou
</code></pre>

<p>Here: <a href="https://stackoverflow.com/questions/9727097/how-to-match-with-regex-all-special-chars-except-in-php">How to match with regex all special chars except &quot;-&quot; in PHP?</a></p>

<p>The accepted answer advices to use (if I want to exclude '-'):</p>

<pre><code>[^\w-]
</code></pre>

<p>But doesn't that mean: "NOT a special character, NOT -", which is a bit redundant ?</p>