用正则表达式实现替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用正则表达式实现替换相关的知识,希望对你有一定的参考价值。

一下代码的路径要怎么定义?或是在电脑里的使用方法,给一个实例,谢谢
'==========================
'用正则表达式实现替换
'==========================
function replaceregex(patern,str,tagstr)
dim regex,matches
set regex=new regExp
regex.pattern=patern
regex.IgnoreCase=true
regex.global=true
matches=regex.replace(str,tagstr)
replaceregex=matches
end function

网上的例子:

1. 启动 Microsoft Visual Basic 6.0。 
2. 在“文件”菜单上,单击“新建项目”。 
3. 在“新建项目”对话框中,单击“Standard Exe”,然后单击“确定”。 
默认情况下将创建 Form1。 
4. 在“项目”菜单上单击“引用”。 
5. 双击“Microsoft VBScript Regular Expressions 5.5”,然后单击“确定”。 
6. 在工具箱中,双击“命令按钮”。 
默认情况下,“Command1”将添加到窗体中。 
7. 双击“Command1”以打开代码窗口。 
8. 将下面的代码粘贴到“Command1_Click”事件处理程序:MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4")) 
注意 这个示例中将对照“IS1 is2 IS3 is4”字符串检查 is. 模式。您可以将句点这一特殊字符(.)用作通配符,这样,搜索模式就能够多匹配并多显示一个字符。如果您在搜索模式中添加两个句点,您会看到两个其他字符。如果您不使用任何句点,您只会看到搜索模式。 
9. 将以下函数添加到“Command1_click”事件处理程序后:

Function TestRegExp(myPattern As String, myString As String)
 

   \'\'Create objects.
 

   Dim objRegExp As RegExp
 

   Dim objMatch As Match
 

   Dim colMatches   As MatchCollection
 

   Dim RetStr As String
 

   \'\' Create a regular expression object.
 

   Set objRegExp = New RegExp
 

   \'\'Set the pattern by using the Pattern property.
 

   objRegExp.Pattern = myPattern
 

   \'\' Set Case Insensitivity.
 

   objRegExp.IgnoreCase = True
 

   \'\'Set global applicability.
 

   objRegExp.Global = True
 

   \'\'Test whether the String can be compared.
 

   If (objRegExp.Test(myString) = True) Then
 

   \'\'Get the matches.
 

    Set colMatches = objRegExp.Execute(myString)   \'\' Execute search.
 

    For Each objMatch In colMatches   \'\' Iterate Matches collection.
 

      RetStr = RetStr & "Match found at position "
 

      RetStr = RetStr & objMatch.FirstIndex & ". Match Value is \'\'"
 

      RetStr = RetStr & objMatch.Value & "\'\'." & vbCrLf
 

    Next
 

   Else
 

    RetStr = "String Matching Failed"
 

   End If
 

   TestRegExp = RetStr
 

End Function

10. 在“运行”菜单上,单击“启动”来运行该应用程序。 
11. 单击“Command1”。 
此时将出现一个消息框,该消息显示 IS1 is2 IS3 is4 字符串中的所有 is 匹配项。

 

参考:http://www.cnblogs.com/naniannayue/archive/2010/08/14/1799428.html

参考技术A replaceregex(/1/g,"1212121","a")追问

patern,str,tagstr

/1/g,"1212121","a"
都是什么含义

追答

正则

要查找替换的字符串

被替换成的字符串

你都不知道参数的含义,你就要写啊??!好厉害哦

追问

我的意思是怎么体现在文件里使用?

pyspark用正则表达式替换正则表达式

我试图用一个正则表达式替换正则表达式(在这种情况下是一个带数字的空格)

我有一个包含字符串列的Spark数据帧。我想用逗号替换正则表达式(空格加数字)而不丢失数字。我试过这两个没有运气:

df.select(“A”,f.regexp_replace(f.col(“A”),“ s + [0-9]”,“,”)。alias(“被替换”))

df.select(“A”,f.regexp_replace(f.col(“A”),“ s + [0-9]”,“ s + [0-9],')。alias(”被替换“))

任何帮助表示赞赏。

答案

你需要的是另一个函数regex_extract

所以,你必须划分正则表达式并得到你需要的部分。它可能是这样的:

df.select("A", f.regexp_extract(f.col("A"), "(s+)([0-9])", 2).alias("replaced"))

以上是关于用正则表达式实现替换的主要内容,如果未能解决你的问题,请参考以下文章

PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能

正则表达式替换问题

php [php正则替换] PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示

js正则表达式替换捕获内容

Notepad++的正则表达式替换和替换

用正则表达式替换某一区段内的字符,在线等