Regex 如何使正则表达式选择X、Y或Z长度的模式

Regex 如何使正则表达式选择X、Y或Z长度的模式,regex,Regex,如果我需要找到一个与任何正数小写字符匹配的正则表达式,可以是一个N,然后是6个整数、8个整数或15个整数。但不匹配任何其他数量的吸入器 e、 g.“abcN123456”或“abcdN12345678”或“ABN1234567890123345”或“abcdefgN123456” 你如何制作一个正则表达式来找到这个 它以[a-z]+N开头,但不知道如何处理可变数量的整数 [a-z]+N(\d{6}|\d{8}|\d{15}) 这里有一个可能的解决方案 ^[a-z]+N(?:\d{6}|

如果我需要找到一个与任何正数小写字符匹配的正则表达式,可以是一个
N
,然后是6个整数、8个整数或15个整数。但不匹配任何其他数量的吸入器

e、 g.“abcN123456”或“abcdN12345678”或“ABN1234567890123345”或“abcdefgN123456”

你如何制作一个正则表达式来找到这个


它以
[a-z]+N
开头,但不知道如何处理可变数量的整数

[a-z]+N(\d{6}|\d{8}|\d{15})    

这里有一个可能的解决方案

^[a-z]+N(?:\d{6}|\d{8}|\d{15})$

或者试试这个“更疯狂”的变体;)


此正则表达式返回7个整数的匹配项(因为它找到了6个整数,然后忽略了最后一个整数)有什么办法吗?您可以在字符串后面添加字符(例如逗号、空格(\s)或引号),或者如果字符串在此之后结束,则使用
$
像这样结束正则表达式:
[a-z]+N(\d{6}\d{8}\d{15})$
\b
匹配单词的结尾。此正则表达式返回7个整数的匹配项(因为它找到6个整数,然后忽略最后一个整数)。有办法解决此问题吗?“通过为开始和结束添加选择器来修复”它
^[a-z]+N(?:\d{6}|(?:(?:\d{7}){1,2}\d))$