gpt4 book ai didi

java - 字符串模式、正则表达式

转载 作者:搜寻专家 更新时间:2023-11-01 03:02:28 25 4
gpt4 key购买 nike

我想学习一些关于使用字符串模式的知识。

对于电子邮件,我有

^[a-zA-Z0-9_]+@[a-zA-Z0-9]+\\.[a-z]+

应该没问题,或者有什么可以改进的?我不想要任何复杂的东西,只想要基本的“友好可读”。有什么办法可以通过表达式限制 2-3 个字符的电子邮件域?

对于 URL,我从类似的东西开始

^(http|https)://[a-zA-Z0-9]+\\.[a-z]+(/[a-zA-Z0-9-_]+)+\\.[a-z_-]+

如何扩展 URL 参数的模式?喜欢:

http://hostname.domain/uriFrag1/uriFrag2/someFilename.fileExt?param1=val1&param2=val2

关于如何简单地为 ?param1=val1&param2=val2 制作模式有什么想法吗?

可以有参数,但不是必须的。

最佳答案

^[a-zA-Z0-9_]+@[a-zA-Z0-9]+\\.[a-z]+

关于这个的一些事情。您可能还应该添加 .甚至可能 +,因为两者在电子邮件中都很常见(例如 Gmail 允许两者)。其次,您可以使用 {from-to} 限制字符数。所以:

^[a-zA-Z0-9_]+@[a-zA-Z0-9]+\\.[a-z]{1,3}

但是,您可能想考虑不这样做,因为更长的域名刚刚售出。人们可能会使用 .cloud 或 .email 电子邮件出现,而您不希望将他们拒之门外。

至于网址:

?param1=val1 这可以很容易地匹配到

(\\?[a-z]*=[a-z]*)*

但是,如果您真的想要获取它们,您可能需要使用一些捕获组。

(\\?([a-z]*)=([a-z]*))*

关于java - 字符串模式、正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32354932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com