繁体   English   中英

正则表达式模式丢失的最后一个字符

[英]regex pattern losses last character

我使用以下正则表达式从网址中提取域: "^(http:\\\\/\\\\/|https:\\\\/\\\\/)?(www.)?([a-zA-Z0-9]+).[a-zA-Z0-9]*.[az]{3}.?([a-zA-Z0-9]+)?$"当我获得第3个群组时,我得到了一个缺少的域最后一个字符。 例如:facebook变成faceboo

我正在使用Java 8

如果路径(组4)中没有数字,则正则表达式可以正常工作。 如果我在第4组中输入数字,则会削减域的最后一个字符。

您需要转义点字符

"^(http:\\/\\/|https:\\/\\/)?(www\\.)?([a-zA-Z0-9]+)\\.[a-zA-Z0-9]*\\.[a-z]{3}\\.?([a-zA-Z0-9]+)?$"

这是正则表达式中的特殊字符,表示“任何字符”,这表示它与点或任何字母匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM