gpt4 book ai didi

java - jsoup css 选择器 : escape question mark

转载 作者:行者123 更新时间:2023-11-30 11:15:14 24 4
gpt4 key购买 nike

给定一个类包含问号的标签

<h2 class="?class-text ">mark-text should be blue</h2>

如何使用 jsoup 选择器选择它?

我试过了

doc.select("h2.\\?class-text")
doc.select("h2.?class-text")
doc.select("h2[class=?class-text]")
doc.select("h2[class=\\?class-text]")

但这些都不起作用。

这个有效

doc.select("h2[class*=class-text]")

但我想选择完全匹配。

JSFiddle for this

更新:

doc.select("h2[class~=\\?class-text]")

成功了。但是有没有没有正则表达式的解决方案?

最佳答案

如果您想使用select,那么您作为参数传递的内容最终将被视为正则表达式。您传递的字符串实际上是在 Stringmatches 方法中传递的(这是对其实际作用的过度简化,但您明白了)。 Check this answer .如果你不想使用正则表达式,那么使用这个:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class Main {

public static void main(String[] args) {
try {
String str = "<div><h2 class=\"?class-text \">mark-text should be blue</h2></div>";
Document doc = Jsoup.parse(str);

Elements el = doc.getElementsByClass("?class-text");
System.out.println(el);
} catch (Exception e) {
e.printStackTrace();
}
}
}

关于java - jsoup css 选择器 : escape question mark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549413/

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