我想解析很多文本并用***替换标记的特定部分。
更多细节我想用***:
替换下面标签中的电子邮件的第一部分From: abcdef@mydomaine.com
我希望它是:
From: ***@mydomaine.com
请注意,此标记可能如下:
From: abcdef@mydomaine.com
或
From: <abcdef@mydomaine.com>
或
From: hello bla bla <abcdef@mydomaine.com>
我想用***替换此标签中电子邮件的第一部分。 我尝试使用preg_replace,但我不喜欢使用正则表达式
答案 0 :(得分:3)
使用以下模式
(From:)([^<@]+<)?[^@]+(@)
并将其替换为
$1$2***$3
详细说明:
(From:)
匹配字符串From:
,将字面意义捕获到第一组($1
)([^<@]+<)?
会匹配第一次出现<
的某些文字。由于此部分是可选的,因此使用?
。匹配在第二组($2
)[^@]+
匹配任何字符,直到第一个@
(@)
按字面意思匹配@
并将其捕获到第三组($3
)