Tag: 正则expression式

用常见string的文本文件交叉引用CSV文件的最简单的方法

我有一个CSV文件中的string列表,以及我想要search这些string的另一个文本文件。 CSV文件只包含我感兴趣的string,但是文本文件中有一些其他文本散布在感兴趣的string中(我感兴趣的string是蛋白质数据库的ID号)。 最简单的方法是什么? 我想检查文本文件中是否存在CSV文件中的每个string。 我在一所顶尖大学的研究实验室工作,所以你会帮助尖端的研究! 谢谢 :)

Javascript正则expression式 – 从列出的函数中删除参数

我试图build立一个jQuery的插件,findExcel公式和评估它,目前使用jison作为parsing器和一些正则expression式的占位符replace,问题是我对这两个盲目,完整的代码目前在github 我想做的事: 说我有一个注册公式成员,它的function var formula = { member:['MAX','MIN','AVG','SUM'], max:function(cell1,cell2){ … //return the max } //…. and other function not listed } 并有一个具有数据公式属性的HTML元素 <div data-formula="MAX($A1,$A5)"></div> 如果variables占位符$ A1作为列出的公式(MAX,MIN,SUM和AVG)的参数,它应该被replace为1.1(将A转换为1并与点连接),如果它在公式括号之外,则应该保留并将在稍后被replace(如果你可以帮助build立jison文件,使MAX()接受string,这将是伟大的:)) 我目前的代码如下所示 var $equation = ''; var $formula_regex = new RegExp('['+formula.member.join('|')+']+\(([^]+)\)','g'); //should be [SUM|AVG|MAX|MIN]+\(([^]+)\) //this.data[$key].formula contains the string formula $equation = this.data[$key].formula.replace($formula_regex,function($range){ $range = $range.replace(/\$\w+/g, function($key) { $key = $key.replace('$',''); […]

VBA正则expression式 – 试图replacestring中的字符时运行时错误91

为了大量减less不同团队的工作量,我正在做这个任务作为更大的一部分。 我试图读取一个string,并使用正则expression式来replace一个空格(或另一个字符)的一对多的空间。 目前我使用的是本地string,但是在主分区中,这些数据将来自外部的.txt文件。 此.txt中元素之间的空格数可以根据行而不同。 我正在使用下面的代码,并用短划线replace空格。 我已经在下面的代码尝试了不同的变化和不同的逻辑,但总是得到“运行时错误'91':对象variables或时钟variables未设置”在线“c = re.Replace(s,replacement)” 使用断点后,我发现我的RegularExpression(re)是空的,但是我不能完全弄清楚如何从这里进步。 如何用破折号replace我的空间? 我一直在这个问题上花了好几个小时,把大部分时间花在Google上,看看是否有人遇到类似的问题。 Sub testWC() Dim s As String Dim c As String Dim re As RegExp s = "hello World" Dim pattern As String pattern = "\s+" Dim replacement As String replacement = "-" c = re.Replace(s, replacement) Debug.Print (c) End Sub 额外的信息:使用Excel 2010.已经成功地链接了所有的引用(Microsoft VBScript Regular […]

Excel列由不同的合并单元格组成

我正在整理一个有以下问题的工作表,并希望得到任何build议。 我的表有7个“主列”和约4000行。 它是通过转换一个PDF文件的负载编译的。 主列由合并的次列组成,但在数据的各个部分,组成每个主列的次列是不同的。 例如,第一个主列由前30行的合并列AH构成,而后25行则由合并列AG等组成。 正如我所说,总体来说,仍然有相同的7个主列从上到下,但合并是不同的… 任何人都可以想办法解决这个问题,而不是手动做这一切?

Excel VBA正则expression式 – 如何匹配3个字符之间可能有其他字符

我正在处理一些具有一些奇怪符号的数据(来自其他语言) 即时通讯在使用正则expression式的Excel中写一个macros,我想匹配“1×2”时,该string包含1“x 2

如何parsingzip文件中的excel文件?

我希望能够parsing一个zip文件中的excel。 我已经能够parsing压缩文件,以返回该压缩文件中的文件,如果正则expression式匹配带来了一个Excel文件,我想parsing文件。 以下是parsingzip文件的excel电子表格名称的脚本。 #!/usr/bin/perl use strict; use warnings; use Archive::Zip; use Spreadsheet::ParseExcel; my $zipFile = Archive::Zip->new(); my $xl_file = ""; #open zipfile $zipFile->read( '/home/user/Desktop/test.zip' ) == 0 || die "cannot read zip file\n"; #find all files within zipfile my @files = $zipFile->memberNames('/home/user/Desktop/test.zip'); foreach my $file (sort @files) { #find all excel files if($file =~ m/(.*xls)/){ […]

Excel VBA – RegExp规范build议

我创build了以下REGEX来标记具有特定脚本标记的Excel文件(^ Joe Bloggs + JoeBloggs ^)。 但是,问题在于我不够聪明,无法改变下面的VBA脚本,因此用户可以指定要分析哪个特定的Excel列。 目前,下面的代码仅限于在列A:A上运行,我希望能够为列D:D运行它,或者按照用户input运行它。 Sub RegExp_1() Dim objRegex Dim RegMC Dim RegM Set objRegex = CreateObject("vbscript.regexp") With CreateObject("VBScript.RegExp") .MultiLine = True .Global = True .IgnoreCase = True .Pattern = "\^[\w\W\s]*\^|<[\W]{2,3}\^[\w\W\s]*\^[\W]{1,3}\>" For i = 1 To 10000 If .test(Cells(i, 1).Value) Then Set RegMC = .Execute(Cells(i, 1).Value) For Each RegM In RegMC Cells(i, […]

使用embedded式dobule引号和逗号对单个RegExexpression式进行解码

我有很多CSV数据,我试图解码使用正则expression式。 我实际上试图在现有的代码基础上构build其他人员/项目,并且不想冒着通过重构类太多风险来破坏数据stream的风险。 所以,我想知道是否有可能解码这个文本与一个正则expression式(这是目前如何工作): f1,f2,f3,f4,f5,f6,f7 ,"clean text","with,embedded,commas.","with""embedded""double""quotes",,"6.1", 第一行是标题。 如果我将其保存为xxx.csv并在Excel中打开,则将其正确反编译为读取(注意字段之间的空格为单元格分隔符): f1 f2 f3 f4 f5 f6 f7 clean text with,embedded,commas. with"embedded"double"quotes 6.1 但是,当我在.net中试用这个时,我遇到了正则expression式。 我有这个: string regExp = "(((?<x>(?=[,\\r\\n]+))|\"(?<x>([^\"]|\"\")+)\"|(?<x>[^,\\r\\n]+)),?)"; 你可以在这里看到它的行动: http://ideone.com/hRq8xe 结果如下: <start> clean text with,embedded,commas. with""embedded""double""quotes 6.1 <end> 这是非常接近的,但它并没有用像Excel这样的单双引号replace掉双引号。 我不能想出一个更好的正则expression式。 可以这样做吗?

search并复制行数据VBA

我有一些代码在第二张纸上运行search,将匹配的行数据复制到第一张纸的指定位置。 目前它抓取第一行并将信息复制到“工作列表”表中,IA)需要它循环查找列A中具有匹配名称的其他行,并将匹配的数据粘贴到下面,并且如果在列A中没有find匹配的名称search列B并复制匹配的行数据。 这是我到目前为止,哪些工作,我只是无法绕开我的大脑如何让循环工作。 任何帮助将是伟大的! Sub Filldata() Dim nxtRow As Integer ActiveSheet.Unprotect With Worksheets("Destinations").Range("A:A") Set c = .Find(Worksheets("Week Listings").Cells(17, 3).Value, LookIn:=xlValues) If c Is Nothing Then Range("A20") = "Not Found" Range("B20") = "Not Found" LCSearch.Hide Select Case MsgBox("ESA code entered is invalid, please check. If it aligns with that shown on the order, take action to […]

Excel中的正则expression式VBA特殊字符和embedded式空间

我必须parsing一个巨大的文件,但其中的一个价值观正在引起我很多的悲痛。 这是六个字符的固定长度字段。 允许的值的描述是: 左alignment; 空间充满。 不能包含特殊字符或embedded空格。 如果数据不可用,空间填满。 我到目前为止所尝试的是检查: If Code = " " Then MsgBox "Code is Space Filled." 这将检查是否所有的空间填充,这是可以的。 接下来,我检查是否有任何特殊字符使用以下function: With ObjRegex .Global = True .Pattern = "[^a-zA-Z0-9\s]+" StripNonAlpha = .Replace(Replace(TextToReplace, "-", Chr(32)), End With 我可以比较两个string,原始代码和剥离的特殊字符之一。 如果他们不匹配,那么它包含一个特殊的字符,是无效的。 这是造成我的问题的空间。 我必须检查左alignment(没有前导空格后跟字符),没有embedded空格,尾随空格是好的。 我已经尝试了上述function的一些变化,但无济于事。 例如(错误): (^\sa-zA-Z0-9\sa-zA-Z0-9)+ 我会很感激任何指针。 如果有更多的“多合一”的正则expression式更有意义,那么这将是非常好的,如果正则expression式是错误的,那么我很乐意放弃它们。