我有一个很大的HTML,我必须在swift中解析它并提取一些id。
如何从<ul>
<li>
<svg class="foo blue">
<use xlink:href="#foo"></use>
</svg>
Blue
</li>
<li>
<svg class="foo purple">
<use xlink:href="#foo"></use>
</svg>
Purple
</li>
<li>
<svg class="foo wine">
<use xlink:href="#foo"></use>
</svg>
Wine
</li>
</ul>
<svg class="svg-spritesheet">
<symbol id="foo" viewBox="0 0 20 20">
<title>foo</title>
<rect width="20" height="20" fill="currentColor" stroke="#000" stroke-opacity="0.2" />
</symbol>
</svg>
中提取以下字符串data-max-position="NAME-661174248527044608-661303076113014786-BD1UO2FFu9QAAAAAAAAET
(ar之间的数字不是固定大小)?
我需要在data-max-position =&#34;之间获取数据。第三次出现&#34; - &#34;
我应该使用什么样的正则表达式来提供我需要的信息?
到目前为止,对于另一种字符串,我使用了以下内容,但我不知道应该使用什么正则表达式来获取第一部分中提到的内容
NAME-661174248527044608-661303076113014786
将&#34; data-name-id&#34; 中的内容和第二个&#34;
中的内容提取出来答案 0 :(得分:1)
如果你有一个你提到的格式的纯文本字符串,你可以使用正则表达式来提取它的一部分:
pattern:"\\sdata-max-position=\"([^\"-]+-[^\"-]+-[^\"-]+)"
<强>详情:
\\s
- 空白data-max-position=\"
- 文字data-max-position="
substring ([^\"-]+-[^\"-]+-[^\"-]+)
- 第1组(您所需的值)匹配
[^\"-]+
- "
和-
以外的一个或多个字符-
- 连字符[^\"-]+-[^\"-]+
- 见上文。请注意,[^...]
是一个*否定字符类,它匹配任何未在字符类中的范围/集中定义的字符。