Regex 指定所有元素都必须存在的范围样式
我在练习正则表达式 我有以下字符串Regex 指定所有元素都必须存在的范围样式,regex,Regex,我在练习正则表达式 我有以下字符串 nabcdf 我想选择全部。所以我写了下面的正则表达式 (n[abc]) -> n followed by a , b or c 因此,只有n和a突出显示。基于此,我有两个问题 1) 为什么b和c没有突出显示?既然他们也在场 2) [abc]指定存在a、b或c。是否可以指定一个范围,例如a->c,其中一个范围中的所有元素都应该存在(即),因此它最终会像abc?我知道regex有[a-c],但这意味着a到c之间的任何元素都必须存在。我想要的是一个范围内
nabcdf
我想选择全部。所以我写了下面的正则表达式
(n[abc]) -> n followed by a , b or c
因此,只有n和a突出显示。基于此,我有两个问题
1) 为什么b和c没有突出显示?既然他们也在场
2) [abc]
指定存在a、b或c。是否可以指定一个范围,例如a->c,其中一个范围中的所有元素都应该存在(即),因此它最终会像abc
?我知道regex有[a-c]
,但这意味着a到c之间的任何元素都必须存在。我想要的是一个范围内的所有元素都应该存在。这有一个表达方式吗
n[abc]
将只捕获n
和字符类中的一个。要捕获更多,您需要像*
或+
这样的量词
就这样吧
n[a-c]+ #will capture `n` and at least one of the character class
或
如果您希望所有的abc
都出现,您可以使用lookahead
(?=.*a)(?=.*b)(?=.*c)n[abc]+
见演示
(?=.*a)(?=.*b)(?=.*c)n[abc]+