如何转义正则表达式中的元字符

时间:2009-05-25 04:13:36

标签: regex asp-classic

语言:asp

这是我的代码示例:

str = "www.example.com/gotobuy.aspx?id=1234"
key_word = ".obuy."
Dim regEx
Set regEx = New RegExp
regEx.Pattern = key_word
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(str)
if matches.count > 0 then
    new_string =  str
    For Each Match in Matches
        new_string = replace(new_string,match.value,"")
    Next
else
    new_string = str
end if
response.write new_string

响应将显示:

www.example.com/goaspx?id=1234

我知道(。)是Meta Character之一。但是,如果我想(。)只是(。),而不是任何一个单词。我该怎么办?

感谢您的帮助!

5 个答案:

答案 0 :(得分:3)

除了使用.转发\之外,很多人都喜欢使用只有.的字符类:[.],他们发现它更美观。您也不会遇到多级转义的问题。使用\时,如果您的语言版本的字符串将\视为特殊字符,则可能必须使用多级转义:"\\."

答案 1 :(得分:2)

使用\.按字面匹配.

答案 2 :(得分:2)

从那以后。是一个元字符,匹配'。'你需要逃避它,就像\.

一样

答案 3 :(得分:1)

你需要逃避你想要从字面上对待的元字符。在大多数正则表达式系统中,这意味着在其前面添加反斜杠。例如:"foo\.bar"

答案 4 :(得分:0)

要获得精彩的正则表达式教程,请参阅http://www.regular-expressions.info/