使用OutSystems,我需要一个正则表达式来搜索文本,并在搜索词之前和之后挑选4个单词。
我目前正在使用(?:[a-zA-Z'-]+[^a-zA-Z'-]+){0,4}(w+|s|^)keyword[a-zA-Z0-9]*(?:[^a-zA-Z'-]+[a-zA-Z'-]+){0,4}
即使关键字仅匹配文本中单词的一部分,它也需要匹配单词。 例如,如果我的关键字是 MPA,并且文本包含"在我的随机公司,例如我们",它将匹配该字符串。 这行得通。
我当前表达式遇到问题的地方是,如果您确实匹配了一个完整的单词,它不会事先获得 4 个单词。 例如,使用与上述相同的文本,但使用关键字 company 它只会匹配" 公司用于示例目的我们">
我希望这是有道理的
不是真正的OutSystems问题,而是一个与正则表达式相关的问题。
试试这个(使用w*
而不是w+
(:
(?:[a-zA-Z'-]+[^a-zA-Z'-]+){0,4}(w*|s|^)keyword[a-zA-Z0-9]*(?:[^a-zA-Z'-]+[a-zA-Z'-]+){0,4}