Regex 正则表达式必须包含首字母UC(不是G-M),可以包含数字(最多4个),但必须在数字之前包含连字符或下划线

Regex 正则表达式必须包含首字母UC(不是G-M),可以包含数字(最多4个),但必须在数字之前包含连字符或下划线,regex,Regex,无法破译我搜索的所有正则表达式:这是我能得到的最接近的结果,但它允许不止一个UC /^([A-F | N-Z]\d._-]{1,6})$/ 我还探讨了“消极”的版本 /^[^G-M]/ 但我不清楚如何附加-或+数字选项 这是摆在我面前的一个难题,我在作弊试试这个 /^UC[^G-M]*[-_]\d{0,4}$/ 如果只能包含一个字母、一个连字符或下划线以及最多四位数字: /^[A-FN-Z][-_]\d{0,4}$/ 那么: ^ [A-FN-Z] : RegEx must i

无法破译我搜索的所有正则表达式:这是我能得到的最接近的结果,但它允许不止一个UC

/^([A-F | N-Z]\d._-]{1,6})$/
我还探讨了“消极”的版本

/^[^G-M]/ 
但我不清楚如何附加-或+数字选项

这是摆在我面前的一个难题,我在作弊

试试这个

/^UC[^G-M]*[-_]\d{0,4}$/

如果只能包含一个字母、一个连字符或下划线以及最多四位数字:

/^[A-FN-Z][-_]\d{0,4}$/
那么:

^
  [A-FN-Z]    : RegEx must include initial UC letter (not G-M)
  [-_]        : must include hyphen or underscore before digits
  \d{0,4}     : include digits (max 4)
$
如果需要至少有一个数字,则可能需要将\d{0,4}替换为\d{1,4}

根据你的评论:

^[A-FN-Z](?:[-_]\d{0,4})?$

使连字符或下划线和数字可选。这将匹配不需要的UC.?&123456。这将匹配不需要的UC.?&123456。我一直在讨论这一点,这两个是我想到的-下面的其他答案不允许只有数字可选的UC字母需要前置-或/^[A-F | N-Z][124;/-]\d{1,4}?$/或/^[A-F | N-Z][124;-]\ d{1,4}?$/在我测试时,这两种方法似乎都有效