osa*_*reg 1 php regex preg-replace preg-match
我试图更好地理解正则表达式,但似乎无法理解这一点.
preg_replace("/[^a-zA-Z0-9.?!\s]/", "", $mystring);
Run Code Online (Sandbox Code Playgroud)
我认为这不会取代短划线,因为在上面的例子中它将被视为"通过".但每次我运行它时,短划线都会被删除.
您没有提供样本$mystring值,这将有所帮助.
在编写时,这个正则表达式将替换一个且只有一个字符$mystring.具体来说,您的角色类^在一开始就包含一个克拉字符().在任何与Perl兼容的正则表达式引擎(其中PHP是一个)中,这表示不是这些东西(有关更多信息,请参阅字符类).所以你的表达基本上剥离了任何不是:
短划线字符不是上述字符之一,因此匹配并替换.
然而,你所写的关于破折号的"直通"的假设是正确的.短划线字符是字符类中的4个特殊字符之一,它用于指示一系列字符.
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |