困难的正则表达式Javascript重复替换

时间:2010-08-27 19:29:00

标签: javascript regex

我希望有人能够帮助我。我需要创建一个正则表达式,将从输入文件中删除所有重复项 - 我正在创建一个ftp.exe脚本来上传文件,并且不需要在执行命令中重复。

以下是该脚本的一个简短示例:文件中最多可能有20个或更多相同的重复项...

我在不同的部分(周围创建了)括号,并认为它可能用于分组

    (mkdir /breeds
    cd /breeds
    mput C:\Inetpub\wwwroot\site.co.za/admin/buckets\application\sites\site_-_org/breeds/*.*
    )
(mkdir /breeds
    cd /breeds
    mput C:\Inetpub\wwwroot\site.co.za/admin/buckets\application\sites\site_-_org/breeds/*.*
    )
(cd /
    mput C:\Inetpub\wwwroot\site.co.za/admin/buckets\application\sites\site_-_org/*.*
    )
(cd /
    mput C:\Inetpub\wwwroot\site.co.za/admin/buckets\application\sites\site_-_org/*.*
    )

如何编写javascript regex.match来规定重复值。

2 个答案:

答案 0 :(得分:1)

一种方法是将每个“组”组合成一行(例如用分号分隔命令),然后使用unix | sort | uniq删除重复的行,然后再将行重新分开。 / p>

答案 1 :(得分:0)

虽然识别文本中的重复项对于人类来说非常容易,但对于正则表达式来说这是一项相当困难的任务(特别是因为文本似乎可以是任何内容,并且组成一个组没有固定数量的行)。

考虑:

mkdir /breeds
cd /breeds
mput C:\Inetpub\wwwroot\site.co.za/admin/buckets\application\sites\site_-_org/breeds/*.*

mkdir /breeds
cd /breeds
mput C:\Inetpub\wwwroot\site.co.za/admin/buckets\application\sites\site_-_org/*.*

这会造成重复吗?每个前两行是否重复,或者整个组是否需要匹配(但在这种情况下,组是如何确定的?)。

你不会找到一个能做你想做的正则表达式。您需要根据您提供的一系列规则找到实际解析输入的方法。

例如,您可以将输入拆分为数组行,然后双向遍历该数组以查找等效行组(但即使这样,您也需要确定一些规则,例如最小行数。形成一个团体是)。