调整此代码后找到两个单词后停止

时间:2017-04-18 04:53:27

标签: regex nintex-workflow

我急于让这个工作,我没有问到如何在我的原始帖子中的第二个单词后停止。 Grab first 4 characters of two words RegEx

如果我有Awesome Sauce Today,我希望AwesSauc

我的第一篇文章中的代码将捕获任何单词的前4个字符并将它们组合在一起。因此Awesome Sauce Today将成为AwesSaucToda。我想让它在第二个单词后停止捕捉。因此在我的示例Today中会被忽略,但它仍会捕获它遇到的前两个单词中的4个字符来创建新的AwesSauc

1 个答案:

答案 0 :(得分:2)

您仍然可以使用替换文字操作并使用

模式(?s)^\P{L}*(\p{L}{1,4})\p{L}*\P{L}+(\p{L}{1,4}).*
替换文字$1$2

请参阅regex demo

此解决方案与前一个解决方案之间的区别在于,模式在开始时以^锚定,而不是\W(与任何非单词字符匹配)我正在使用{ {1}}匹配任何非字母字符(根据需要调整),并匹配第一个和第二个字开头,我现在使用2个捕获组(\P{L}),因此替换中有两个反向引用图案。 (\p{L}{1,4})...(\p{L}{1,4})修饰符使(?s)模式与任何字符匹配,包括换行符。在将必要的文本捕获到2个捕获组之后,必须在末尾.删除其余的字符串。