Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用Swift 2删除正则表达式中的重复行_Regex_Xcode_Swift - Fatal编程技术网

Regex 使用Swift 2删除正则表达式中的重复行

Regex 使用Swift 2删除正则表达式中的重复行,regex,xcode,swift,Regex,Xcode,Swift,我正试图用Swift在Xcode中用regex删除重复的行。作为一个初学者,我在学习如何做这件事上遇到了一些困难 目前使用正则表达式时,我尝试使用以下代码(请注意,我使用的是两个反斜杠,其中一个用作Swift字符串的转义字符): 但在我的实现中,它似乎不起作用。Description 我将您的表达式修改为: (^[^\n]*$)(?:\n\1)+ 替换为:\1 此正则表达式将执行以下操作: 查找重复行 注意:您需要将\替换为\,并使用以下标志:多行使^和$在每行匹配,全局选项使表达式在第

我正试图用Swift在Xcode中用regex删除重复的行。作为一个初学者,我在学习如何做这件事上遇到了一些困难

目前使用正则表达式时,我尝试使用以下代码(请注意,我使用的是两个反斜杠,其中一个用作Swift字符串的转义字符):

但在我的实现中,它似乎不起作用。

Description 我将您的表达式修改为:

(^[^\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"