我无法很好地阅读正则表达式,并继承了一些我试图解释的代码。我有两个问题。
首先,您能解释一下正则表达式模式的作用吗?
其次,我们有一个问题,这个代码用空格替换省略号字符,我们希望保留省略号。在声明中需要更改哪些内容以保留省略号?
Dim Test As String = "Test...test" 'this is three dots and not an ellipsis, but just as an example
Dim NotGoodCharacters As String = "[^\w\,<>:;~`@#$%^&*()_=+\-{}|[\]\\?/! ""'']"
Return System.Text.RegularExpressions.Regex.Replace(Test, NotGoodCharacters, " ")
非常感谢。
答案 0 :(得分:2)
这将替换集合中 NOT 的任何字符:
\w\,<>:;~@#$%^`&*()_=+-{}|[]\?/! ""''
有空间。每次看到[^...]
时,正则表达式都匹配任何不属于[^
和]
之间字符的字符。 \w
匹配任何单词字符,\,
匹配逗号,\\
匹配反斜杠。我猜椭圆不是那些字符,所以它会被剥离出来。
更新:
在@Alan的评论之后,我注意到了一些应该解释的内容。 \-
匹配短划线,\]
匹配结束方括号。
如果要排除椭圆,可以尝试将正则表达式更改为:
Dim NotGoodCharacters As String = "[^\w\,<>:;~`@#$%^&*()_=+\-{}|[\]\\?/! ""''\x85]"
\x85
匹配水平省略号的ascii代码。
答案 1 :(得分:-1)
这是一个很好的小flash工具,可以帮助你构建正则表达式。 RegExr