正则表达式替换,模式匹配

时间:2014-09-18 04:52:18

标签: regex vb.net

使用以下代码

  Dim pattern As String = "(a\.? |on\.?)"
  dim input as string ="a creation on"
  dim output as String=Regex.Replace(input, pattern, "  ") 

它会给我outputcreat

但我的预期输出是:creation,有人可以建议我如何实现预期的输出?

或者建议我如何从输入中删除模式中指定的单独单词。

2 个答案:

答案 0 :(得分:1)

只需在正则表达式on之前添加一个空格,然后用空字符串替换匹配的字符。

Dim pattern As String = "(a\.? | on\.?)"

答案 1 :(得分:0)

Dim ResultString As String
Try
    ResultString = Regex.Replace(SubjectString, "(^|\s)(a|on|etc)($|\s)", "  ", RegexOptions.IgnoreCase Or RegexOptions.Multiline)
Catch ex As ArgumentException
    'Syntax error in the regular expression
End Try