是否可以在角色类中使用 anchor ?这不起作用:

analyze-string('abcd', '[\s^]abcd[\s$]')

在字符类中时,^$看起来像是文字。但是,转义它们(\^\$)也不起作用。

我正在尝试使用此表达式来创建单词边界(XSLT/XQuery中不提供\b),但我不希望不使用组((^|\s))-因为非捕获组不可用,这意味着在某些情况下场景我可能会遇到大量不需要的捕获组,这创建了一个新任务,即在不需要的捕获组中查找“真实”捕获组。

最佳答案

我相信答案是否定的,您不能将^$包括在[]中作为 anchor ,而不能仅用作文字字符。 (我希望您也能做到这一点。)

但是,您可以在字符串的前面和后面加上一个空格,然后只将\s查找为单词边界,而不必担心 anchor 。例如。

analyze-string(concat(' ', 'abcd xyz abcd', ' '), '\sabcd\s')

您可能还需要在每个+之后添加\s,但这是一个单独的问题。

关于正则表达式 anchor 定在字符类中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16825316/

10-13 01:35