正则表达式匹配在任意位置连字的特定单词并分成两行

前端之家收集整理的这篇文章主要介绍了正则表达式匹配在任意位置连字的特定单词并分成两行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望搜索一个给定单词的文本文件,该单词可以选择在单词内的未知位置连字,并分成连续的行.

例如.匹配“连字符”内:

This sentence contains a hyphena-
ted word.

最近的(没有吸引力的)解决方案:

"h\(-\s*\n\s*\)\?y\(-\s*\n\s*\)\?p\(-\s*\n\s*\)\?h\(-\s*\n\s*\)\?e\(-\s*\n\s*\)\?n\(-\s*\n\s*\)\?a\(-\s*\n\s*\)\?t\(-\s*\n\s*\)\?e\(-\s*\n\s*\)\?d"

我希望一些比我更强的正则表达式可以提出一个正则表达式,其中包括搜索的单词,即.我想在那里看到“连字号”.我还没有找到一种方法来编码如下的东西(无论如何都会出错,因为它会匹配“hy-ted”):

"{prefix-of:hyphenated}{hyphen/linebreak}{suffix-of:hyphenated}"

我意识到预处理文档以折叠这些单词会使搜索变得更简单,但我正在寻找一个正则表达式,我可以在上下文中使用,因为所涉及的工具不可能.

解决方法

考虑到hy-phented也应该匹配,我认为这是一个单独的正则表达不是正确的方法.

我会这样做(不知道你的语言,我使用伪代码):

>从输入中删除连字符和换行符
>匹配已清除的输入.*连字符.*

所有语言都可以轻松实现第1步,代码将更具可读性.

猜你在找的正则表达式相关文章