我有^[a-zA-Z_ ,.'-]+$
这个正则表达式Name
验证工作正常。但问题是,允许撇号会引发一些问题。所以我在验证之前对撇号进行了编码。
name = name.Replace("'", "'");
现在,john's doe
之类的有效名称看起来像john's doe
,无法使用当前的正则表达式进行验证。
现在我想要检查该名称是否包含与'
完全一致的有效字符集。
注意:我不想将&
和;
添加到当前字符集中,因为这会允许&;
作为有效名称。
答案 0 :(得分:2)
使用分组构造(...)
或(?:...)
:
^(?:[a-zA-Z_ ,.-]|')+$
<强>详情:
^
- 字符串开头(?:[a-zA-Z_ ,.-]|')+
- 两者中的任何一个:
[a-zA-Z_ ,.-]
- 来自|
- 或'
- 子字符串'
$
- 字符串结束。