Regex 使用Swift 2删除正则表达式中的重复行
我正试图用Swift在Xcode中用regex删除重复的行。作为一个初学者,我在学习如何做这件事上遇到了一些困难 目前使用正则表达式时,我尝试使用以下代码(请注意,我使用的是两个反斜杠,其中一个用作Swift字符串的转义字符): 但在我的实现中,它似乎不起作用。Description 我将您的表达式修改为:Regex 使用Swift 2删除正则表达式中的重复行,regex,xcode,swift,Regex,Xcode,Swift,我正试图用Swift在Xcode中用regex删除重复的行。作为一个初学者,我在学习如何做这件事上遇到了一些困难 目前使用正则表达式时,我尝试使用以下代码(请注意,我使用的是两个反斜杠,其中一个用作Swift字符串的转义字符): 但在我的实现中,它似乎不起作用。Description 我将您的表达式修改为: (^[^\n]*$)(?:\n\1)+ 替换为:\1 此正则表达式将执行以下操作: 查找重复行 注意:您需要将\替换为\,并使用以下标志:多行使^和$在每行匹配,全局选项使表达式在第
(^[^\n]*$)(?:\n\1)+
替换为:\1
此正则表达式将执行以下操作:
- 查找重复行
\
替换为\
,并使用以下标志:多行使^
和$
在每行匹配,全局选项使表达式在第一次匹配后继续
例子
现场演示
示例文本
祝你有愉快的一天
祝你今天愉快
fdaf
这些不是你要找的机器人
这些不是你要找的机器人
这些不是你要找的机器人
样本匹配
祝你有愉快的一天
fdaf
这些不是你要找的机器人
解释
节点说明
----------------------------------------------------------------------
(组和捕获到\1:
----------------------------------------------------------------------
^“行”的开头
----------------------------------------------------------------------
[^\n]*除“'\n”(换行符)(0)以外的任何字符
或更多次(与最大金额匹配)
(可能的)
----------------------------------------------------------------------
$在可选的前\n和
“行”
----------------------------------------------------------------------
)结束\1
----------------------------------------------------------------------
(?:组,但不捕获(1次或多次)
(匹配尽可能多的金额):
----------------------------------------------------------------------
\n'\n'(换行符)
----------------------------------------------------------------------
\1与捕获匹配的内容\1
----------------------------------------------------------------------
)+分组结束
----------------------------------------------------------------------
let originalText = "Have a nice day \n\n Have a nice day"
let myPattern = "^(.*)(\\r?\\n\\1)+$"
let replacement = "\\1"