xslt - 如何将正则表达式用于数字后的字符
问题描述
我想选择@reId
在数字()之后有一个字符fig-FigF.3A
。
输入:
<p type="TOC_Level Two Entry">
<doclink refType="anchor" refId="fig-FigF.3A">Figure F.3A—Text<c
type="TOC_Leader Dots"><t/></tps:c></tps:doclink>
<ref format="TOC Page Number" refType="anchor" refId="fig-FigF.3A"/>
<p>
输出应该是:
<p type="TOC_Level Two Entry"><doclink refType="anchor"
refId="fig-FigF.3A">F.3A<tps:t/>Text<c
type="TOC_Leader Dots"><t/></c></tps:doclink><ref
format="TOC Page Number" refType="anchor" refId="fig-FigF.3A"/></tps:p>
试过的代码:
我试图用这个 regex 解决这个问题^(Figure )(\d+|[A-Z].\d+)(—)(.*)
。但它不起作用。
我该如何解决这个问题?我正在使用 xslt 2.0
解决方案
因此,试图从中提取明确的需求声明,您似乎希望输入“fig-FigF.3A”产生输出“F.3A”。或者,也许您想将“图 F.3A-文本”视为输入?一方面,您说您正在选择@reId
属性 - 您的输入中不存在该属性;另一方面,您对解决方案的尝试是寻找出现在文本节点中的文本“Figure”,而不是属性。
所以我认为我们需要一个更清晰的需求声明。
将此作为需求陈述的另一个问题是您只给出了一个示例,而不是一般规则。在您的问题“数字后有一个字符”中有一个一般规则的提示。但是,这是什么意思?您的示例似乎正在寻找模式字母点数字,这与您对问题的描述完全不匹配。
抱歉,版主,这不是答案,而是对问题的评论。它开始是一个答案,直到我意识到这个问题并不清楚,但到那时评论太长了。
推荐阅读
- python - if条件后的随机输出结果 - python
- css - 为什么 Svelte 不将标签限定在一个类下,而是使用单独的 tag.class 来设置组件的样式?
- azure - Azure Front Door 每秒轮询后端池状态数次
- api - 只有在 drupal 7 中手动清除缓存后才能看到正确的投票结果计数
- asp.net - 我可以在 Swagger UI 中手动更改方法图标(锁定/解锁)吗?
- java - Android - 如果语句被忽略和绕过
- python - DataClass 是否适合替换字典?
- java - 在 Flutter 中配置 local_auth 插件
- arrays - 如何从Java中的放心JSON响应中检索值“不允许空值”
- javascript - 我想检查firefox窗口是否处于活动状态或空闲状态