gpt4 book ai didi

java - Regex java - 检查空格或字符

转载 作者:行者123 更新时间:2023-12-01 11:42:56 24 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来处理标签内出现的多个空格或字符。我这样写正则表达式 -

[tag:title](.*?)[tag:/title].

但是字符串中如果后面有多个空格就不匹配了。如果有单个空格或字符,则与其匹配。我也尝试过

<title>([\\s.]*?)</title>

但它不起作用。请帮助我纠正我的正则表达式。

我的程序是 -

        public static void main(String[] args) {
String source1;
source1="<tag> apple</tag> <b>hello</b> <tag> orange gsdggg </tag> <tag>p wfwfw ear</tag>";

System.out.println(Arrays.toString(getTagValues(source).toArray()));
}


private static List<String> getTagValues(String str) {

if (str.toString().indexOf("&amp;") != -1)
{
str = str.toString().replaceAll("&amp;", "&");// replace &amp; by &
// System.out.println("removed &amp formatted--" + source);
}


final Pattern TAG_REGEX = Pattern.compile("<title>(.*?)</title>");
final List<String> tagValues = new ArrayList<String>();
final Matcher matcher = TAG_REGEX.matcher(str);
int count=0;
while (matcher.find()) {
tagValues.add(matcher.group(1));
count++;
}
System.out.println("Total occurance is -" + count);
return tagValues;

}

最佳答案

如果您想检查多个空格,则必须使用:

\\s+

所以你的模式将变成:

([\\s+.]*/)]

或者你可以使用类似的东西:

(\\s|.)*

了解正则表达式 here .

您可以阅读有关字符串模式的教程 here .

关于java - Regex java - 检查空格或字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373458/

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