我使用此正则表达式来检查指定字段中的句子必须以轮廓字母结尾。这是正则表达式
$scope.pattern = /\b(?:za(?:ZA)?|dtn?|ZA?|DTN)$/;
$scope.error = "must end in za or dtn"
以上想法是,具有模型“ pattern”的字段必须以za或ZA或dtn或DTN结尾。但是目前只有在以za结尾时才标记错误
答案 0 :(得分:4)
您的RegEx看起来不必要地复杂。试试这个:
/(za|ZA|dtn|DTN)$/
或者这个:
/(za|dtn)$/i
// Uses the 'i' flag to indicate "case-insensitive"
如果输入以za
,ZA
,dtn
或DTN
结尾,则两者都将匹配。
如果您只是做一个简单的匹配,就不必指出(?:non-capturing group)
。
答案 1 :(得分:1)
对于大写字母,您应该使用(?i)标志,而不是针对字母的不同大小写进行过多组合。我认为您可以简单地更改正则表达式并这样写,
/(?:\bza|DTN)$/i