我正在尝试使用帮助程序 exe (C#) 清理一些数据。
我遍历每个字符串,我想从字符串的开头和结尾删除无效字符,即从$$$helloworld$$$
.
使用这个正则表达式可以正常工作:\W
.
但是,中间包含无效字符的字符串应该单独保留,即hello$$$$world
很好,我的正则表达式不应该匹配这个特定的字符串。
所以本质上,我试图找出匹配字符串开头和结尾的无效字符的语法,但将包含无效字符的字符串留在其正文中。
谢谢你的帮助!
这样做!
(^[\W_]*)|([\W_]*$)
这regex
表示在 start() 处匹配零个或多个非单词字符^
或|
在 end() 处匹配 ( $
)
以下应该有效:
^\W+|\W+$
^
并且$
分别是字符串开头和结尾的锚点。中间|
是 OR,所以这个正则表达式的意思是“要么匹配字符串开头的一个或多个非单词字符,要么匹配字符串末尾的一个或多个非单词字符”。
使用 ^ 匹配字符串的开头,使用 $ 匹配字符串的结尾。C# 正则表达式备忘单
试试这个,
(^[^\w]*)|([^\w]*$)
使用 ^ 匹配 'beginning of line' 和 $ 匹配 'end of line',即你的代码应该匹配并删除 ^\W* 和 \W*$