我有以下正则表达式
(\w)+(,(\w)+)*
仅以逗号分隔的字符和数字
test123,test3,test9
我还想添加可以在\ w内使用的@,#,$之类的符号
当我尝试[(\ w)$ @]时不起作用。 我需要在DevExpress TextEdit Mask中使用它。它说语法错误
答案 0 :(得分:0)
如果this page底部有一个答复,其中提到不能在[]
中使用特殊字符。
可用字符列在Mask Type: Extended Regular Expressions
上建议是使用分组替换来分隔字符类和特殊字符。
您可以尝试
(\w+|[@#$]+)+(,(\w+|[@#$]+))+
部分
(
第1组
\w+
匹配1个以上的字符字符|
或[@#$]+
匹配任何列表项1次以上)+
关闭组并重复1次以上(
第2组
,
字面上匹配(\w+|[@#$]+)
与组1相同的模式)+
关闭组并从,
开始,重复整个组1次以上如果您的数据仅包含字母a-z和数字,则也可以尝试
([a-z0-9@#$]+)+(,([a-z0-9@#$]+))+