正则expression式匹配字母数字和空格
我在这里做错了什么?
string q = "john s!"; string clean = Regex.Replace(q, @"([^a-zA-Z0-9]|^\s)", string.Empty); // clean == "johns". I want "john s";
只是一个FYI
string clean = Regex.Replace(q, @"[^a-zA-Z0-9\s]", string.Empty);
实际上会更好
string clean = Regex.Replace(q, @"[^\w\s]", string.Empty);
这个:
string clean = Regex.Replace(dirty, "[^a-zA-Z0-9\x20]", String.Empty);
\ x20是“空格”字符的asciihex
你可以添加更多的个人angular色,你想被允许。 如果你想要例如“?” 在返回stringadd \ x3f中确定 。
我知道了:
string clean = Regex.Replace(q, @"[^a-zA-Z0-9\s]", string.Empty);
不知道你可以把它放在括号里
我怀疑^不能像你认为的那样在angular色类别之外工作。
你告诉它要做的是用空string或任何前导空格replace不是字母数字的所有内容。 我认为你的意思是说,空格可以不replace – 尝试将\ s移动到[]类中。
以下正则expression式用于文本框中的空间包含。
Regex r = new Regex("^[a-zA-Z\\s]+"); r.IsMatch(textbox1.text);
这对我来说很好。
似乎有两个问题。
- 您正在使用与该行起始处匹配的[]外的^
- 你不使用*或+这意味着你只会匹配一个字符。
我想你想要下面的正则expression式@“([^ a-zA-Z0-9 \ s])+”
方括号内的回音表示除了后续范围以外的所有字符。 你想要方括号外的旋律。