gpt4 book ai didi

java - 正则表达式 "either a semicolon or the end of the string"

转载 作者:行者123 更新时间:2023-11-29 04:34:22 26 4
gpt4 key购买 nike

这是关于解析 HTML 的内联 CSS 样式属性。我正在使用 JSoup,但据我所知,JSoup 已选择不对此提供帮助……我不确定为什么。这意味着用户必须找出键和值等中合法字符的规则,即什么构成了“正确形成”的 CSS 样式“属性”(这甚至是正确的术语吗?[稍后:不!样式“属性”,根据 CSSParser])。

无论如何,在提取每个单独的键值对时,我想做的是用分号将它们分开......但在最后一对中,尾随分号是可选的。但是,考虑到空格,它将以字符串结尾结束。

所以我尝试了这个:

Pattern styleSubattrsPattern = Pattern.compile( "([A-Za-z0-9-]+)\\s*:\\s*([A-Za-z0-9-]+)\\s*[$;]");

... 意思是“分号或字符串的末尾”。但它不起作用:最终的键值对不匹配。

稍后

使用 CSSParser 确实解决了根本问题.

最佳答案

使用 [$;] 将匹配分号或美元符号,因为 [] 中包含的特殊字符将引用字 rune 字(除了 ^ 开头,用于反向匹配)。

您可能想要的是:((;)|($))

或者,您也可以使用问号来表示一个可选字符,如果您希望在分号之后有一个行尾:;?$

关于java - 正则表达式 "either a semicolon or the end of the string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42320506/

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