如何将自定义符号添加到正则表达式? DevExpress遮罩

时间:2019-09-27 22:36:35

标签: c# regex devexpress

我有以下正则表达式

(\w)+(,(\w)+)*

仅以逗号分隔的字符和数字

test123,test3,test9

我还想添加可以在\ w内使用的@,#,$之类的符号

当我尝试[(\ w)$ @]时不起作用。 我需要在DevExpress TextEdit Mask中使用它。它说语法错误

http://prntscr.com/pbyq7p

1 个答案:

答案 0 :(得分:0)

如果this page底部有一个答复,其中提到不能在[]中使用特殊字符。

可用字符列在Mask Type: Extended Regular Expressions

建议是使用分组替换来分隔字符类和特殊字符。

您可以尝试

(\w+|[@#$]+)+(,(\w+|[@#$]+))+

部分

  • (第1组
    • \w+匹配1个以上的字符字符
    • |
    • [@#$]+匹配任何列表项1次以上
  • )+关闭组并重复1次以上
  • (第2组
    • ,字面上匹配
    • (\w+|[@#$]+)与组1相同的模式
  • )+关闭组并从,开始,重复整个组1次以上

Regex demo

如果您的数据仅包含字母a-z和数字,则也可以尝试

([a-z0-9@#$]+)+(,([a-z0-9@#$]+))+

Regex demo