相关疑难解决方法(0)

如何使用正则表达式验证电子邮件地址?

多年来,我慢慢开发了一个正则表达式,可以正确验证MOST电子邮件地址,假设他们不使用IP地址作为服务器部分.

我在几个PHP程序中使用它,它大部分时间都可以工作.但是,我不时会遇到使用它的网站遇到问题的人,我最终不得不进行一些调整(最近我意识到我不允许使用4字符TLD).

验证电子邮件的最佳正则表达式是什么?

我已经看到了几个使用函数的解决方案,这些函数使用了几个较短的表达式,但我宁愿在一个简单的函数中使用一个长复杂表达式,而不是在一个更复杂的函数中使用几个短表达式.

regex email validation email-validation string-parsing

3201
推荐指数
44
解决办法
116万
查看次数

替换重复捕获

这是Python正则表达式的后续行动- 替换单引号和括号线程.

任务:

示例输入字符串:

RSQ(name['BAKD DK'], name['A DKJ'])
SMT(name['BAKD DK'], name['A DKJ'], name['S QRT'])
Run Code Online (Sandbox Code Playgroud)

期望的产出:

XYZ(BAKD DK, A DKJ)
XYZ(BAKD DK, A DKJ, S QRT)
Run Code Online (Sandbox Code Playgroud)

类似name['something']项目的数量是可变的.

目前的解决方案:

目前,我通过两个单独的re.sub()调用来完成它:

>>> import re
>>>
>>> s = "RSQ(name['BAKD DK'], name['A DKJ'])"
>>> s1 = re.sub(r"^(\w+)", "XYZ", s)
>>> re.sub(r"name\['(.*?)'\]", r"\1", s1)
'XYZ(BAKD DK, A DKJ)'
Run Code Online (Sandbox Code Playgroud)

问题:

是否可以将这两个re.sub()调用组合成一个?

换句话说,我想在字符串的开头替换一些东西,然后在多个类似的东西之后替换,所有这一切都在一个去.


我已经研究了regex模块 - 它捕获重复模式的能力看起来非常有前途,尝试使用regex.subf()但未能使其工作.

python regex

24
推荐指数
3
解决办法
877
查看次数