【发布时间】:2011-10-08 07:42:28
【问题描述】:
我需要一个正则表达式,它基本上可以检查字符串后的空格、换行符等。
所以条件是,
- 允许包含特殊字符
.、_、-、+字符串,即@hello.world、@hello_world、@helloworld等。 - 丢弃包括特殊字符在内的任何内容,其中后面没有字母数字字符串,即
@helloworld.<space>、@helloworld-<space>、@helloworld.?等必须解析为@helloworld
我现有的正则表达式是/@([A-Za-z0-9+_.-]+)/,它完美地工作条件#1,但似乎仍然存在问题条件#2
我在preg_replace()使用上面的正则表达式
解决方案:
$str = preg_replace('#@[\w+.\-]+\b#', '[[$0]]', $str);
这很好用。
经过测试
【问题讨论】: