gpt4 book ai didi

java - 如何从包含搜索字符串的字符串中获取字符序列

转载 作者:行者123 更新时间:2023-12-01 22:16:15 24 4
gpt4 key购买 nike

我想知道它们是否是JAVA中的一个函数,允许从一个巨大的字符串中检索包含特殊字符的字符序列。

示例:我有一个已字符串化的 php 页面,我检查是否存在包含字符“@”的字符序列。如果是这种情况,我只想获取包含搜索字符的整个字符序列。

我可以使用 String.contains("@") 来查找字符,但如何获取包含它的字符?

提前致谢!

最佳答案

您可以使用基于的正则表达式

“mailto = (test@mail.com)”

如果在字符串化的 php 中找到此内容,您可以方便地提取括号内的部分。

但很可能它也可能是 foo@bar.com,因此您可能需要编写一个更复杂的正则表达式,但它会以相同的方式工作。

这是与任何有效电子邮件地址匹配的版本:

"mailto = ([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?:\\.[A-Za-z]){1,3}\\b)"

也许 = 之前和之后的空格不能保证,因此您可以将它们设为可选:

"mailto ?= ?(...)"

要执行匹配,请使用

Pattern pat = Pattern.compile( "mailto = ([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?:\\.[A-Za-z]){1,3}\\b)" );

并且,使用字符串中的 php,您就可以执行以下操作

String php = ...;
Matcher mat = pat.matcher( php );
if( mat.find() ){
String email = mat.group( 1 );
}

可以重复调用 find 来查找所有出现的情况。

参见another SO Q+A讨论匹配电子邮件地址的正则表达式。

关于java - 如何从包含搜索字符串的字符串中获取字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30956046/

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