我急于让这个工作,我没有问到如何在我的原始帖子中的第二个单词后停止。 Grab first 4 characters of two words RegEx
如果我有Awesome Sauce Today
,我希望AwesSauc
我的第一篇文章中的代码将捕获任何单词的前4个字符并将它们组合在一起。因此Awesome Sauce Today
将成为AwesSaucToda
。我想让它在第二个单词后停止捕捉。因此在我的示例Today
中会被忽略,但它仍会捕获它遇到的前两个单词中的4个字符来创建新的AwesSauc
答案 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个捕获组之后,必须在末尾.
删除其余的字符串。