我正在尝试编写一个正则表达式来检测文本中的多个模式,其中包含多个空格的序列。我正在做这样的事情:
/[abc({2,})]/
但它似乎也检测到单个空格。我究竟做错了什么?
最佳答案
[abc( {2,})]
模式是匹配单个字符的字符类(或其他术语中的括号表达式),a
,b
, c
, (
, 空格, {
, 2
, ,
、}
或)
。您不能在字符类中定义字符序列。
你可以使用
[abc]| {2,}
或者,要匹配任何 2 个或更多空格,请使用
[abc]|\s{2,}
|
alternation operator用于在此处分隔两个备选方案:
[abc]
- 匹配单个字符的字符类(括号表达式),a
、b
或c
|
- 或者{2,}
- 两个或更多空格。
注意:每当您想在较长的模式中使用此交替时,最好用 group 将其包裹起来这样它就不会“破坏”整个正则表达式:
([abc]| {2,})
或者,使用 non-capturing group如果您不需要访问使用这些模式捕获的值:
(?:[abc]| {2,})
关于javascript - 在正则表达式中寻找字符或序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55230609/