C# 正则表达式-删除下划线和符号
我的正则表达式应该允许a-z,a-z,0-9,单引号('),空格(),问号(?),破折号(-),句号() 正则表达式看起来像这样。但是,它还将下划线、符号和标记为有效字符C# 正则表达式-删除下划线和符号,c#,regex,C#,Regex,我的正则表达式应该允许a-z,a-z,0-9,单引号('),空格(),问号(?),破折号(-),句号() 正则表达式看起来像这样。但是,它还将下划线、符号和标记为有效字符 ^[\.\w?\-' ]+$ 如何修复此问题?&apos将按字面匹配这些字符。要匹配,,只需按字面意思使用, 正如Srdjan M.所评论的那样,\w相当于[a-zA-Z0-9.] 结果正则表达式: ^[a-zA-Z0-9.?\-' ]+$ 在线试试。扩展前面的答案, 如果要匹配问题中所述的转义的“,则可
^[\.\w?\-' ]+$
如何修复此问题?
&apos字符类中的code>将按字面匹配这些字符。要匹配,
,只需按字面意思使用,
正如Srdjan M.所评论的那样,\w
相当于[a-zA-Z0-9.]
结果正则表达式:
^[a-zA-Z0-9.?\-' ]+$
在线试试。扩展前面的答案,
如果要匹配问题中所述的转义的“
,则可以使用
^(?:[\.a-zA-Z0-9.-\? ]|')+$
它使用非捕获组(?:exp1 | exp2)+
来匹配一个或多个exp1或exp2,而不是匹配一个或多个e或x或p或1或2的[exp1exp2]+
您可以试用它。^[a-zA-Z0-9'\?\-\.]
应根据您的请求为正确的字符串。\w
还包含\u
和&apos代码>是复制/粘贴(unescape)错误还是“有效”字符串?当它是“有效”时,它表示一个字符列表,包括符号和字符。在一些在线web调试上检查正则表达式,如(带说明)