什么是正则表达式来捕获包含@符号的任何字符串?
例如,如果你有字符串......
Hey let's meet-up @5pm tonight. E-mail me at joe@example.com. What the !>?@## is your problem?
......将返回以下内容:
@5pm
joe@example.com.
!>?@##
答案 0 :(得分:2)
我不会为你写正则表达式,但想一想:
现在你应该能够用自己喜欢的语法写一个正则表达式了......
答案 1 :(得分:1)
preg_match_all 会做您想做的事。
\ S - 匹配任何不是空白字符的字符(空格,制表符,换行符)。
$subject = 'Hey let's meet-up @5pm tonight. E-mail me at joe@example.com. What the !>?@## is your problem?'
$matches = array();
if (preg_match_all('/\S*@\S*/', $subject, $matches)) {
var_export($matches);
}
输出:
array (
0 =>
array (
0 => '@5pm',
1 => 'joe@example.com.',
2 => '!>?@##',
),
)
答案 2 :(得分:1)
这是正则表达式:
\S*@\S*
使用JavaScript快速测试:
var text = "Hey let's meet-up @5pm tonight. E-mail me at joe@example.com. What the !>?@## is your problem?"
var re = /\S*@\S*/g
var matches = []
var match
while (match = re.exec(text)) matches.push(match[0])
console.log(matches) // ["@5pm", "joe@example.com.", "!>?@##"]
用你使用的任何一种语言写一些类似的东西应该不难。