首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模式不区分大小写sqf:sqf替换

模式不区分大小写sqf:sqf替换
EN

Stack Overflow用户
提问于 2016-07-08 21:54:01
回答 2查看 190关注 0票数 2

我已经创建了一个schematron规则,它以不区分大小写的方式(由"i“标志提供)搜索由变量给定的特定文本:

代码语言:javascript
复制
<sch:report test="matches(.,concat('(^|\W)',$phrase,'(\W|$)'),'i')" role="error" 
sqf:fix="replaceWithKey">...</sch:report>

where $phrase =‘(短语)’

我希望用户能够使用快速修复并替换文本,但我不知道如何在快速修复中提供不区分大小写的解决方案。我的初始版本如下所示:

代码语言:javascript
复制
<sqf:fix id="replaceWithKey">
<sqf:stringReplace regex="{$phrase}">
...
</sqf:stringReplace>

快速修复仅在文本部分的大小写与$phrase完全相同时有效,尽管在所有情况下都会识别违反规则的情况。有没有办法利用regex属性中的"i“标志功能?

EN

回答 2

Stack Overflow用户

发布于 2016-07-08 23:16:11

我没有使用SQF,但我认为您最后一个问题的答案是“不”。根据reference docs的说法,<sqf:stringReplace>不允许flags属性,就像<xsl:analyze-string>在XSLT中所允许的那样。

并且regex syntax不提供在正则表达式本身内传递这些标志的方法。

最简单的方法可能是修改SQF以向<sqf:stringReplace>添加flags属性,或者请SQF作者进行更改。

票数 0
EN

Stack Overflow用户

发布于 2016-07-14 01:00:24

关于此主题的两个更新:

  1. 未来将在
  2. 中添加对sqf:stringReplace中的flags的支持。解决方法是将sqf:replace函数与xsl:analyze-string结合使用,如下所示:

... -string>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38268457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档